Performance Chat Summary: 7 February 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Reminder: Performance team roadmap for 2023 https://github.com/WordPress/performance/issues/631 If you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue before end of day Wednesday February 15, 2023
  • Team rep nomination reminder, please add your nominations for Performance Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. by Friday, February 24 2023

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger making good progress on the PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Checker. We’re starting to finalise the infrastructure and should have a working plugin running some initial checks by end of the month. You can track progress on the GitHub repo and leave any thoughts/ideas you may have. The repo will be moved to the WordPress organisation when ready
  • @mukesh27 I would like to share an update for Automated Performance Testing that @adamsilverstein already share blog post on WordPress core.
    • Issues that completed and merged in feature/automated-performance-testing-mvp branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch"..
    • AC ready for review.
    • We will open a PR against the WordPress trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. once the initial version is complete. Feel free to take a look at the issues and leave any thoughts or ideas you may have.
  • @joemcgill Additionally, I’ve been starting to work on an experimental implementation of XHProf with wp-env to help make it easier for folks to do general performance profiling tasks. See: https://github.com/joemcgill/gutenberg/pull/1 as a starting point.
  • @10upsimon updates on Enhancing the Scripts APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. with a loading strategy
    • Documentation approved, although there was a comment added post approval that I have addressed. It does not change the work, but it does result in the need to confirm that the blocking strategy is not to be confused with the blocking  script attribute itself.
    • GitHub issues have been finalized and broken down into 4x milestones in a separate sheet, estimates are present for all issues in the sheet, although not all issues are in GH yet.
    • GH Issues and AC’s have been added to the project board for Milestones 1, 2 and 3 and have been assigned to @joemcgill for review. It looks like all except for one have been approved (at the time of writing) as they’ve been moved to the backlog
    • I’m in the process of breaking down issues for Milestone 4
    • TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. to be posted by Friday, I see no risks thereto.
    • Engineering will commence next week on Milestones 1, 2 and 3

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @olliejones I’ve been hammering on the low end persistent object cache, looks good.
  • @aristath These past couple of weeks I continued working on the SQLite database implementation. There’s a lot of work to do, but things are looking good. Started collaborating with @zieladam as well in an effort to improve some things and make the implementation more stable.

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • @flixos90 Just sharing here that I discovered (probably?) a major performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in 6.2 for classic themes: https://core.trac.wordpress.org/ticket/57648
    • I’m going to follow up on that ticket shortly to collaborate with @oandregal as he is seeing slightly different results. Of course there is a chance that something specifically in my analysis went wrong, but we will have to validate that data

Our next chat will be held on Tuesday, February 14, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 31 January 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Performance team roadmap for 2023 https://github.com/WordPress/performance/issues/631 If you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue!
    • @flixos90 Anyone that is more or less regularly contributing to the team is asked to think about and share their priorities for this year, if possible
    • @spacedmonkey There is also SQLite database and object cache that are in play
      • @flixos90 I think SQLite is clearly a focus. What is on the issue right now is not at all a complete roadmap. The idea is that anyone can post comments with what they would like to prioritize
    • @olliejones It’s my impression that almost nothing, except @flixos90 contributions, are on the priority list yet. So, it’s up to the rest of us.
      • @flixos90 Exactly, I just posted 2 things that we already have proposal posts for, as a starting point. So yes, it’s explicitly a call for anyone involved in the team to contribute to this roadmap
    • @spacedmonkey One thing I have not discussed publicly, but want to look into lazy loading meta data in core. We have a problem that more and more WP_Queries are being run per page and lots of post meta is being loaded when not needed https://core.trac.wordpress.org/ticket/57496
      • @flixos90 That would be a great item to add
  • The GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team recently added TTFB measurement to their repo, which is being collected in the code health dashboard here: https://codehealth.vercel.app/project/1. It’s making visible the performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme rendering when compared with classic themes for a simple “hello world” page. As a team, we would like to make sure we’re properly prioritizing the tickets we have for 6.2 that would positively impact this metric—particularly anything that we need to land before the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 milestone next week.
    • @joemcgill I think much of the work for 6.2 that was focused on improving server response times for block themes has already been merged, but I’m mindful of the beta milestone coming next week and want to help prioritize helping land anything that I can that is still in the air.
      • @spacedmonkey me and @flixos90 have worked a lot on block theme performance. Any questions on what I am working on, please feel free to pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me
      • @joemcgill Main thing is whether there are any enhancements that still need to land that you’re waiting on review for?
    • @clarkeemily we also have the Bug Scrub tomorrow at 16:00 UTC time where we can talk through other 6.2 performance items
    • @mukesh27 Is anyone on the Gutenberg team checking those regressions, or do we have to?
      • @joemcgill Good question. I think they are, but there’s no reason we shouldn’t take a look every so often. Really, it would be nice to do something similar for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
      • @mukesh27 Are those changes incorporated into the core of WordPress?
      • @johnbillion I’d love to do something similar for core, the main problem is how to avoid variance so the reporting over time is accurate
      • @flixos90 We have talked about it before in that recent hallway hangout earlier in January. In fact @adamsilversteinis working on a Make post that should go out this week
      • @spacedmonkey I would also have some way of query count per page load.
      • @joemcgill I think long term variance is a concern, but maybe not a blockerblocker A bug which is so severe that it blocks a release. as long as the short term trends are instructive/useful.
  • Plan to have quick-fire focus area updates (15m) so we can focus the remainder of todays chat on Next steps for Unbundling the Performance Lab PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party (proposal)

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger Still making good progress on the Plugin Checker, starting to approach the remaining issues on the infrastructure so will soon be in a position to run some of the initial checks and do some testing. Feel free to track progress on the GitHub repo and leave any thoughts/ideas on issues. The repo will be eventually moved to the WordPress organisation when ready.

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90 nothing to update for Infrastructure

Feedback requested

Open Floor

  • Unbundling Performance Lab plugin
  • TL:DR; the team are in agreement to proceed with working towards splitting out standalone plugins and keeping the Performance Lab plugin as it is for now
  • Detailed conversation below:
    • @flixos90 We are still waiting to get feedback from Matt on the 3 alternative options that we have outlined and discussed earlier in January. However, I think it would be unwise to just wait and do nothing until we hear back, for which we don’t have a timeline. Therefore my proposal is to work towards simply splitting out standalone plugins and keeping the Performance Lab plugin as is for now
    • A bit more context on the reasoning behind that proposal: The “for now” here is important, as that would likely be a temporary solution. Doing so is effectively our option 1 that we voted for in https://github.com/WordPress/performance/issues/618#issuecomment-1377598692, but the main reason I’m proposing to already work towards it here is that that option is the least disruptive and the least effort, and even if we eventually go with option 2 or 3, we would need to implement the same changes as part of that
    • It is also the most natural transition, for example @aristath‘s SQLite standalone plugin has already been broken out as a standalone plugin
    • The idea is that with the above we would work in the right direction no matter what the eventual final outcome should be. And in any case we would not be wasting time doing work that would potentially not be needed
    • @joemcgill So, if I’m understanding properly, you’re proposing that the performance lab plugin would still include the modules that have been split out. Correct?
    • @flixos90 Yes, it is effectively like option 1 in https://github.com/WordPress/performance/issues/618#issuecomment-1377598692
    • @joemcgill What other plugins need to be split out that aren’t already?
    • @flixos90 I think that we need to discuss. But first I wanted to get feedback on the general idea I shared above. Is that a reasonable next step, as a temporary measure to work in the right direction?
    • @johnbillion Does that duplicate any work or is there a handy build/deployment step for publishing the separate plugins?
    • @flixos90 We would have a build step that simply replaces module headers with plugin headers and deploys those as individual plugins. All modules already work standalone, so there’s no extra work involved in that regard. The main work would be to implement the build and deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. step.
    • @joemcgill At least the SQLite integration plugin is already moved to a separate repo, so it’s a bit clunky to have some of these modules in a mono-repo and some not. It would be nice to align on a development approach.
    • @flixos90 Absolutely; if we go with this approach, we would likely move the SQLite repo back into the PL repo (just for development, the plugin repos on .org would of course remain separate)
    • @johnbillion +1 on a monorepo otherwise we introduce more metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. problems maintaining separate repos
  • No other thoughts on the above from todays meeting, @flixos90 based on the feedback above I think it’s reasonable to proceed with this option for now, to work in the right direction. What we should discuss then though is our approach on how to break out modules as standalone plugins (which we already started talking about a few weeks back)
    • @joemcgill My initial question is whether all modules should be standalone plugins, or if some of them are better suited to stay as part of central infrastructure or smaller experiments as “core modules” of the performance plugin?
    • @flixos90 Exactly, I would outline these alternative ways to go about it:
      • Every module becomes a plugin?
      • Some modules are grouped together into “focus” plugins?
      • Only some modules get broken out as a plugin?
    • @olliejones Specifically, does it make sense to have a standalone “Enhanced Site Health” plugin containing the various site health modules?
      • @flixos90 Potentially. Though my personal take is that we should avoid grouping modules as then we are still going the slippery slope of not having individual plugins for individual features. FWIW, we used to have plugins like https://github.com/audrasjb/site-health-audit-enqueued-assets, and I think that’s the most appropriate approach, even if those plugins are extremely niche
    • @joemcgill Personally, I would keep things like audits, health checks, and small feature experiments like fetchpriority in the main plugin, and break out larger feature plugins.
      • @flixos90 If we do this, we won’t fully address the request of having individual plugins for individual features. What if someone just wants to test fetchpriority? Yes, it’s much simpler than e.g. WebP, but I’m not sure that justifies going a different route for the two
      • @joemcgill That may have been a bad example, and also the part that I’m least confident about, but seems it would be nice for us to have a place to experiment with smaller changes that we are thinking of proposing as enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. in core and not have to spin each one out to a separate plugin until/unless it matures to the point where it’s warranted.
      • @flixos90 Ah okay, that idea sounds interesting. Certain things could start out as a module in the PL plugin and only become plugins as they mature?
    • @olliejones So, PL contains stuff that’s bound to be included in core, AND stuff that’s bound for standalone plugins? Is that right? Or is the criterion for putting a module into PL still that it is bound for core?
      • @joemcgill Right, or if they’re a large enough feature that it makes sense being its own thing. I would say the SQLite persistent cache fits that qualification for me
      • @flixos90 All of that would be things to be included in core. Whether it’s a module in the PL plugin or a standalone plugin is just different ways to “test-drive”. So if we did that, we would still have a mapping that a module can be mapped directly to a standalone plugin, but we would decide for each module whether/when to do that on a case by case basis?
      • @olliejones Is that too limiting? Is Matt thinking along the lines of Drupal’s Core Modules? Is that the direction his “canonical plugins” want to go? Should this team stay away from doing stuff UNLESS it’s bound for core? That’s what I mean. There’s plenty of perf work that only applies to some installs, not all.  Like the persistent object caches. Maybe like webp.
        • @flixos90 we can totally work on things that are not for core; for example the plugin checker project we’re working on. It’s just that the scope of the Performance Lab plugin has been for features targeted for WordPress core. Of course it can always happen that a feature is never deemed eligible or ready. But features in the PL plugin should have the intent to land in core eventually
      • Conclusions: @flixos90think we are converging on the approach of “decide on a case by case basis for each module whether/when it becomes a standalone plugin”, but it’s been only a short conversation with few voices heard, so maybe we can defer a hard decision until next week; I’ll summarize in https://github.com/WordPress/performance/issues/618 and we can keep discussing there
      • @olliejones add to roadmap https://github.com/WordPress/performance/issues/631 for future discussion

Our next chat will be held on Tuesday, February 7, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 24 January 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • None this week

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein not much to update from my end this week. I have been mostly thinking about/planning for WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia & contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., coming up with a plan for that. I’d love feedback about good ways to engage new contributors on performance

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger: been away for a few days but have been making progress on the PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Checker infrastructure. Still more to be done, but you can see the work carried out here https://github.com/10up/plugin-check (we’re developing the project here, but will be eventually moved to the WordPress organisation).
  • The plugin checker will be run through both the CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. and the WP Adminadmin (and super admin). Feel free to take a look at the issues and leave thoughts/ideas you may have

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @aristath Last week, SQLite was released as a stand-alone plugin. No announcement action etc was taken. I left that TBD so we can coordinate our policy and strategy as a performance team. The submission was done early to get a head-start with the plugin review process etc – which made sense since this was a direct request from Matt.
  • The repo for the stand-alone plugin was moved to the WordPress organization on GitHub
  • The call-for testing post was updated to include links both to the PL plugin as well as the stand-alone plugin.
  • @olliejones Ari released the SQLite DBMS engine integration as a standalone plugin https://wordpress.org/plugins/sqlite-database-integration/   … And I assume we’ll take up https://github.com/WordPress/performance/issues/625 during the open-floor time
  • @olliejones The SQLite DBMS project is going to require large-scale testing to get to betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. status
  • @spacedmonkey asked where is the best place to provide feedback for this plugin – best course of action to create an issue here https://github.com/OllieJones/sqlite-object-cache/issues
    • @flixos90 Note that we now have both the separate GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repo and the module in the PL GitHub repo, so we need to figure out how to handle that. The duplicate code between those 2 repos is certainly not good
    • @spacedmonkey noticed that cache values were not being set

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90 No recent updates, however I opened https://github.com/WordPress/performance/issues/627 yesterday. What I’m proposing in that issue is to bump the minimum version requirement of Performance Lab to WordPress 6.1. This will allow us to remove the two Site Health cache modules that were already launched in WordPress 6.1, which at this point are a bit of unnecessary baggage to still have in there
  • Note that per our version support policy our commitment is to only support the latest WordPress release anyway, so this should be okay
  • Discussion around plugin versioning:
    • @flixos90 I see there’s a suggestion by @joemcgill to potentially have a 1.10.0 with that code being deprecated first. I don’t think that would help here. FWIW, the modules are already not loaded today when you have WP 6.1. So nothing changes for you either way when they’re removed:
    • Either you are on WP <6.1, so you cannot update to the new PL release.
    • Or you are on WP 6.1, which means you already are using the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. feature, and the PL modules for the same purpose are not loaded.
    • That was behind the https://make.wordpress.org/performance/handbook/performance-lab/version-support-policy/
    • @joemcgill Makes sense to me. Just getting up to speed on the process here now that I have time dedicated to work on these performance projects. The documented policy seems quite clear
    • Agreed no vote required on this

Feedback requested

Open Floor

  • @olliejones discussed the module proposal for SQLite Persistent Object Cache
    • It’s a standalone plugin. Does it make sense to build it into PL, to put it onto a track to go into core?
    • @spacedmonkey I think it needs to live as a plugin for a while
    • @flixos90 A bit of a tricky question. Of course we are working towards unbundling the PL plugin. But we’re still pending a decision on how exactly, and at this point it may make sense in the PL plugin. Is it already published on wp.org or not?
    • @olliejones Absolutely live as a plugin.  There’s no other way to get decent field experience. And this kind of thing requires field experience.
    • @spacedmonkey I want to test it on bigger sites, multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site, ensure cache invalidation works, support wp_cache_get_multiple and some other stuff
    • @olliejones
    • Yes, published,  https://wordpress.org/plugins/sqlite-object-cache/ If it goes into PL, we’ll need to sort out the use of the object-cache.php drop-in module.
    • @flixos90 Okay, we should definitely keep it published like that then. I think at this point, let’s just keep it like that? We could potentially add it as a PL module too, but depending on the path decided on for unbundling the PL plugin, that would just be unnecessary work – so probably most efficient (until we have a decision) to work in its own repo for now
  • @spacedmonkey discussed the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. for making php 7.2 the minimum version of support php in WordPress https://core.trac.wordpress.org/ticket/57345 and asked if this is something we should be pushing for as the performance team
    • @olliejones I say yes, smaller QA matrices are always good
    • @joemcgill It could certainly have some positive performance implications, though I’m not sure how much impact we would have since the process for bumping versions is pretty well established (unless I’m wrong). It would be nice to help support that effort with some evidence about the performance benefits from any automated testing we do against different versions.

Our next chat will be held on Tuesday, January 31, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 17 January 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein One new thing this week: I am working on a game/testing tool that shows two images generated by WordPress and asks users which they prefer. The comparisons will cover a range of quality settings and mime types (and image engines) and we will collect data about the comparisons. My goal is both to have something fun and interactive as well as get some actual WordPress based data on image quality to help make a decision about where to set WebP default quality in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..
    I’d love to have some testers/feedback here once I get it a little further developed (to be shared in future).
  • @pbearne I will/plan create a combined patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. with dom-color with theme flags and media lib changes for core and then create a new proposal blogblog (versus network, site) post on make for this new version
    Following from @flixos90 comment on the media lib patch
  • @spacedmonkey asked if we are hoping to get dominant color into 6.2
    • @pbearne would love to get it in but @spacedmonkey unsure if the 80% rule was met (is it useful for 80% of users)
    • @pbearne I am hoping as this is a enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. to the media library and the is for every one we can get it in and with the them flag it can be pulled into a theme if wanted just like you might use the icons from core in a theme

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger: PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Checker work in progress (mainly infrastructure right now) and coming along nicely

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • @olliejones I’m seeing some very promising performance results from using SQLite as the persister for an object cache. Is this worth proposing as a Performance Lab module?
    • Performing very well on a WooCommerce site on low-end Godaddy hosting – been doing some tests on my 100K user test site, it seems good. Also works with multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site
    • @pbearne suggested yes, @olliejones will write a proposal
    • @spacedmonkey +1 for this idea. Adding object caching to sites without the overhead of memcache or redis, could be massive big for smaller sites
    • @adamsilverstein would be especially great for hosts that don’t support traditional object caching and won’t for some real reasons
    • @olliejones Last week I asked whether there are any more-or-less standardized large-site benchmarking environments. This is why. Anything?

Our next chat will be held on Tuesday, January 24, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 10 January 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Discussion: Unbundling Performance Lab

  • @flixos90: Want to emphasize that we should decouple how we develop these features from how we distribute them, with this conversation focused on the latter. We can keep working in a mono repo to keep development overhead low no matter which approach we choose for distribution.
  • @olliejones: It seems like any attempt to figure out what a “canonical pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party” is might be a waste of time, as it’s up to Matt, not us
    • @flixos90: The canonical plugins topic is related but not really connected. Agreed it’s not on us to decide, but also don’t think we need to do that to determine how to unbundle Performance Lab. The ask is to distribute the features as individual plugins – whether or not they’ll become “canonical” plugins isn’t directly relevant to the unbundling.
  • @flixos90: As comment notes, we’ve considered three options so far:
    • Option 1: Keep PL as is, but additionally deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. modules as individual plugins
    • Option 2: Make PL a “wrapper” focused on central infrastructure and recommendation of individual plugins
    • Option 3: Deprecate PL completely in favor of individual plugins
  • @masteradhoc: Don’t see SQLite as something that needs to be in PL and WebP can also be standalone. How do you define if a feature should get into the plugin or be standalone? Would go for option 3 to keep everything separated and have some sort of list to keep track on what is being worked on. However, this still doesn’t solve the bigger issue – what happens if the argument is still to not merge them into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.? What will make a canonical plugin in the end? How can we really move WP further in performance?
    • @flixos90: The idea is that all modules of PL are standalone features, so option 3 would mean each module would become its own plugin. The PL plugin has a lot of benefits that we would lose if we go with this option, which is why it’s the most unfavorable to me. There are several feature plugins that weren’t merged into core – either they continue to be developed to eventually get there or they get archived.
    • @masteradhoc: In that case, think more of option 2. Wouldn’t do option 1 as it seems like duplication.
    • @flixos90: Yes, there would be duplicates, but it’s not necessarily bad. It’s the best of both wolds, similar to how Jetpack works as of today.
  • @spacedmonkey: Could a feature be both a standalone plugin and in PL?
  • @olliejones: We have one canonical plugin now, Akismet, that’s available to every WP install but not required – is that what Matt wants for performance?
    • @flixos90: Nothing would be pre-installed; let’s focus on unbundling as opposed to canonical plugins since we don’t know what those are
  • @spacedmonkey: It seems to only make sense to break off larger feature like WebP or SQLite into separate plugins
    • @masteradhoc: I wouldn’t install a plugin just to get additional Health Checks
    • @flixos90: It’s a blurry line – it would require the overhead of a discussion on every single feature to decide if it should be a standalone plugin. Would be in favor of a single consistent decision to save ourselves the overhead later. This is how feature plugins have always worked. FWIW several plugins have only ~50 installs because they’re so specific.
  • @spacedmonkey: Could have a Performance Lab module and a GH repo template for them, would help with maintenance
  • @joegrainger: If we deploy modules as individual plugins, will they have their own repos and if so will they be in the WordPress organization?
    • @flixos90: Yes, only on wp.org would there be separate repos
  • @mxbclang: Are we comfortable that keeping PL and deployingDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. separate plugins fulfills Matt’s request? We would still have a single plugin with all of these features
    • @flixos90: We’ll have to see of course, but main ask was individual plugins
    • @adamsilverstein: Not sure this really meets his requests, he very explicitly said of SQLite that we should “stop putting additional things like this into Performance Lab”
    • @flixos90: From my perspective, since Jetpack does Option 1, this should be a reasonable approach
  • @spacedmonkey: Jetpack is an example of a mono repo with multiple plugin projects: https://github.com/Automattic/jetpack/tree/trunk/projects/plugins, which is a good example of how Option 1 would work
    • @kraft: Jetpack system uses composer packages for things shared between plugins and they get called in via them, happy to answer any questions about the setup
  • @mxbclang: Option 3 is also a burden for support, since each plugin has its own support forumSupport Forum WordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations. that would need to be monitored
  • @spacedmonkey: Marketing is also an issue, where do we push people to?
    • @flixos90: Depends on the context, likely PL primarily, but individual plugins would also be available. A feature proposal post would highlight both as equal options for testing.
  • @olliejones: Option 1 lets us keep moving on development, but it carries the risk of Matt pushing back
    • @flixos90: FWIW both Options 1 and 2 carry that risk
    • @adamsilverstein: Makes me lean toward Option 2
    • @flixos90: Benefit of Option 1 is that it would continue to work as is for the people who have PL currently installed; Option 2 would require a complex migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. that users likely would not understand
    • @adamsilverstein: Good point, thinking more of the end user who hasn’t tried “feature X” yet and having a separate plugin might be a better experience
    • @flixos90: Options 1 and 2 would be have separate plugins for each module
  • @spacedmonkey: Having each functionality in its own plugin helps with testing
  • @spacedmonkey: What defines a module? Would the current Site Health checks all be together, for example? SQLite and WebP are clearly their own modules, but what about smaller things?
    • @flixos90: Great question and another thing to discuss for the future
    • @spacedmonkey: Defining how we break the plugin up helps with what option we pick – don’t want a bunch of “sub”-plugins
    • @flixos90: Yes, but this doesn’t affect which option we choose
    • @spacedmonkey: It does for Option 3
  • @olliejones: Plugin discoverability is a huge issue in today’s WP ecosystem and Option 1 helps discoverability. The categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. “canonical plugin” does seem to help with discoverability.
    • @flixos90: Fair to say that discoverability would suffer with Option 3.
    • @spacedmonkey: Marketing and support would also suffer
    • @adamsilverstein: Not sure about discoverability, if I want a SQLite feature for my site, a canonical plugin that does just that would be easier to discover than a feature within PL
    • @flixos90: Yes, but the standalone plugin would always exist with any option
  • @spacedmonkey: If there’s a standalone plugin, will anyone bother with a PL plugin? What’s the point of it?
    • @flixos90: Depends on the audience. There are people that want one feature at a time and others who want everything in one place.
  • @olliejones: Happy with Option 1 for now. Taking a step back, discoverability is a REALLY big problem for WP themes, plugins, etc. The reason I suggested working on the definition of “canonical” is that it has the potential to address that. Know that we can’t solve that problem but it’s what Matt cares about.
    • @masteradhoc: Agree, maybe next meeting could focus on how these initiatives can be moved forward
  • @spacedmonkey: Personally think that all PL functionality should be opt-in
  • @adamsilverstein: Love the idea of canonical plugins at install time, Drupal does something exactly like this with their 10-minute install
  • @flixos90: That’s how I’ve been thinking about canonical plugins, as well, with WP core providing contextual recommendations
  • @spacedmonkey: Maybe we could have a setup wizard where you opt-in to the features that you want, like Web Stories
  • @olliejones: Is there any way to get Matt’s approval of our choice, or do we have to do a bunch of work and risk it getting shot down?
    • @flixos90: We’d definitely reach out to him with a proposal once we have alignment within the team; we wouldn’t start any work before having buy-in from him
    • @olliejones: Who will do that?
    • @flixos90: Potentially, will help in figuring out how to do that
  • @flixos90: For next week, perhaps: I think are our options when it comes to the scope of how the current modules would be distributed as plugins:
    • Every module becomes its own plugin
    • Modules are grouped together based on their focus into a few “topic specific” plugins
    • Decisions are made individually, some modules become standalone while others are grouped into a topic specific plugin

Voting on an approach is now open in this GitHub comment through Friday, January 20.

Our next chat will be held on Tuesday, January 17, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 3 January 2023

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @pbearne: Dominant color in Media Library code is ready for review: https://github.com/WordPress/performance/pull/587

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger: PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Checker work in progress and coming along nicely

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Matt’s request will be a major Infrastructure topic. Will leave some thoughts on https://github.com/WordPress/performance/issues/618 so we can begin to discuss, but a real discussion should occur in next week’s chat since it’s more synchronous. See also @tweetythierry‘s reply to Matt here which mentions some potential options for us to think about.
    • @olliejones: Is there any prospect of getting coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. to add a new drop-in slot to avoid overloading object-cache.php with the monitoring stuff?
      • @flixos90: Adding a new slot will be challenging; defining the scope and whether it’s justified will likely take quite a while. That said, worth exploring in a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker., but should probably come up with a solid proposal first.
      • @manuilov: If we need to split the plugin, seems like the most appropriate option is the second approach suggested by Thierry. Will need to extract modules as individual plugins and keep PL as a wrapper focused on central infrastructure and recommending individual plugins. Otherwise, if we deprecate PL, people will be less able to find new modules/plugins.

Feedback requested

Open floor

  • @olliejones: Is there a load-testing/performance benchmarking setup? Maybe a sample big site with a bunch of jmeter scripts or something similar?

Our next chat will be held on Tuesday, January 10, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 20 December 2022

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • @mxbclang: Should we hold our chat next week on December 27, or cancel due to the holidays?
    • 9 voted to cancel, none to hold
    • Chat next week is canceled and next chat will be on Tuesday, January 3, 2023

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • No updates

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • @flixos90: Server-Timing APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. launched in Performance Lab yesterday!
    • Received a report of a conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. with W3TC around the object-cache.php file that we’ll investigate. Our approach is to maintain the other file, but maybe their check for whether the file is in place is overly strict.

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

Feedback requested

Infrastructure

@flixos90

GitHub project

  • No updates

Feedback requested

Open floor

  • @olliejones: Are there any plans to create an ingestion module to move MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. contents to SQLite?
    • @mxbclang: Good question for Ari, maybe comment on his post?

Our regularly scheduled chat for Tuesday, December 27, 2022, is canceled due to the holidays. Our next chat will be held on Tuesday, January 3, 2023 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 13 December 2022

Meeting agenda here and the full chat log is available beginning here on Slack.

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @pbearne: Can we get the Media Library patch for dominant color merged? https://github.com/WordPress/performance/pull/587
    • @adamsilverstein: Not working yet, did the template replacing work but not the actual dominant colors
    • @pbearne will try to update this week

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: Need code review for merge on:
    • https://github.com/WordPress/wordpress-develop/pull/3544
    • https://github.com/WordPress/wordpress-develop/pull/3365
    • https://github.com/WordPress/wordpress-develop/pull/3743
  • @spacedmonkey: Been trying to add caching to get_adjacent_post but filters make it hard

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger: Started engineering on PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Check this week, building out initial infrastructure
  • @flixos90: Server-Timing API PR has gotten some reviews and is lined up for Monday’s 1.8.0 release
    • Should help us significantly in assessing server timing metrics in the field; we’re currently extremely limited in that regard as the usual tools only give us client-side performance metrics
    • For example, other than baseline PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher execution time and DB query time metrics, it also includes one more specific metric, to measure the autoloaded options query (which will help us assess the potential impact of https://github.com/WordPress/performance/issues/526)
    • Very large PR (like SQLite) so the more reviews the better, hoping to merge tomorrow for 1.8.0, otherwise will need to puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) to 1.9.0
    • Will be part of the plugin’s infrastructure, so other modules will be able to leverage it to add server timing metrics around their own behavior and validate how much a certain module improves server-side performance in the field

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • @mxbclang: Blog post on enhancing the Scripts API with a loading strategy
    • Proposal from @adamsilverstein on a new approach; please take time to review and comment
    • @adamsilverstein: Next step is a ticketticket Created for both bug reports and feature development on the bug tracker./code proposal, thinking a new TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket might be best
    • @mxbclang and @flixos90 agree on a new Trac ticket
    • @spacedmonkey: Is there a plan to use the defer APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. themes and plugins? Useful for developers to see it in action and provide a good example
      • @adamsilverstein: Yes, that’s the plan, to use it wherever we can in core, including themes
    • @spacedmonkey: Might be worth reaching out to the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team to see if blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor could use this
      • @adamsilverstein: Greg was always asking for it and commented on the original proposal; will be sure to keep them in the loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.
    • @johnbillion: Have any scripts in default themes been identified as being able to support defer? Probably fewer can support async
      • @adamsilverstein: For sure things like commenting script, but haven’t looked at core themes yet. Probably lots of things in wp-adminadmin (and super admin), as well.

Feedback requested

Database

@olliejones

GitHub project

  • @olliejones: @aristath finished the SQLite module https://github.com/WordPress/performance/pull/547 and we would welcome additional testing in advance of Monday’s release
    • @flixos90: Important to test the user experience on module activation. You’ll get an entirely new DB with some added logic to make the transition as seamless as possible. This is only the install; no content migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies..
    • @spacedmonkey: Do we run unit tests with SQLite enabled?
      • @flixos90: We don’t, but that’s a great idea. Maybe we can add an extra scenario to the GH action for PHPUnit that always has the SQLite database active so we can spot any inconsistencies.
      • @spacedmonkey to open an issue

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: A few PRs have landed that fixed some issues with tests since PHP 8.2 caused breakage; kudos to @mukesh27 for working on those
  • @adamsilverstein: Proposed a new plan for A/B testing capability in the plugin https://github.com/WordPress/performance/issues/597 and would appreciate feedback

Feedback requested

Open floor

  • @spacedmonkey: Would love review on https://github.com/WordPress/wordpress-develop/pull/3609, one line of code that would result in big wins

Our next chat will be held on Tuesday, December 20, 2022 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#core-performance, #meta

Performance Chat Summary: 6 December 2022

Meeting agenda here and the full chat log is available beginning here on Slack.

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: New ticketticket Created for both bug reports and feature development on the bug tracker. to ensure coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. support for WebP is complete: #57328
    • When WebP was introduced to core, the implementation focused primarily on the most common use – lossy images. Part of the reason is that although WebP supports lossless compression, alpha transparency and animation as a format, actual support in WordPress depends on the underlying graphics engine (GD/Imagick) where support for these is more varied (for example GD only supports lossless WebP since version 2.3.3 and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher vs 8.1). Furthermore, detecting support for these features of the format is difficult or maybe not possible.
    • If anyone has the bandwidth to dig into this issue, guessing we can improve the current implementation to better match the expectations outlined in the ticket.
  • @spacedmonkey: Any updates on SVG?

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @mxbclang: SQLite module has been approved though we would welcome additional review: https://github.com/WordPress/performance/pull/547
    • Planning to merge by end of week, so if you want to review, please do so by end of day Wednesday
    • @mxbclang will drop a message in #core-performance to let the team now when it is merged and ready for testing
    • Welcome as many testers as possible in advance of release of 1.8.0 on December 19

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @mxbclang via @flixos90: Aiming to complete Server-Timing PR including testing this week, so pending that will request reviews by end of week. Reviews already welcome and much appreciated, particularly around how the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. looks and behaves.

Feedback requested

Open floor

Our next chat will be held on Tuesday, December 13, 2022 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#meta

Performance Chat Summary: 29 November 2022

Meeting agenda here and the full chat log is available beginning here on Slack.

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @mxbclang: What are the next steps on Revisit indexes for DB performance #132?
    • @olliejones: Current voting winner points to doing something dbms-version-specific to the schema, eventually in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., think we can do this in the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party if we’re willing to accept a mu-plugin drop-in module. Disadvantage here is complexity.
    • @flixos90: This is tricky – we have a voting winner, but also some strong opinions from different sides including a WP lead developer.
    • @mxbclang: Seems like the best next step here would be to close out the vote as planned but hold on next steps pending further discussion in the issue, then regroup on this in a future chat
    • All agreed; vote will close and @mxbclang will add a comment about next steps
  • @olliejones: SQLite Object Cache is coming along nicely; will create a new module proposal issue once it’s closer to complete
  • @olliejones: For future discussion: Do we need some sort of formal set of filters, etc. to support the big competent hosting providers in this back-end area?

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Been working on iterating on the Server-Timing API PR. Still in draft because unit tests need to be added, but ready for review. Would love feedback and opinions on the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. implementation. The most important recent change is that it is now initialized early through a drop-in, so it can capture measurements that happen before WP plugins are loaded.

Feedback requested

Open floor

  • @olliejones: There’s a sustainability team forming – see #sustainability Slack channel
  • @nickchomey: Been working on implementing a real PWA for a site under development. Plugin options are limited right now but @westonruter‘s plugin is the right approach. Is this something that the performance team can move forward?
    • @flixos90: Not sure what the current state of the plugin is; original idea was for it to be a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.
    • @nickchomey: Proposing a real coordinated effort be made to improve it to the point that it could be merged into core
    • @flixos90: It could definitely be feature plugin material, but as always it requires resources. If a small group is up for tackling, we would be supportive and help here possible.
    • @westonruter: The plugin is stable and essentially in maintenance mode. Not clear if there is the 80% user benefit to justify core merge just yet. See discussion between @nickchomey and @westonruter in GH issue: https://github.com/GoogleChromeLabs/pwa-wp/issues/884.
    • @flixos90: Key aspect of proposing this for core would be to come with an actual usage of PWA capabilities that immediately benefits core users
    • @westonruter: Benefit that all users could get now is offline browsing on the front-end, but there’s a separate concern of what happens when a large portion of the web is registering service workers
    • @pbearne: Aren’t we going to need something like this for real-time multi-editing in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/?
    • @olliejones: Maybe the Twenty Twenty Four theme could be made PWA-friendly?

Our next chat will be held on Tuesday, December 6, 2022 at 16:00 UTC in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#meta