Performance Chat Agenda: 6 August 2024

Here is the agenda for this week’s performance team meeting scheduled for August 6, 2024 at 15:00 UTC.

  • Announcements
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release
      • Future release
    • 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 (and other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

If you have any topics you’d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 30 July 2024

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

Announcements

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (6.7)
    • Future releases
  • 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 (and other performance plugins)
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

Active Priority Projects

Improving the calculation of image size attributes

  • @mukesh27 For Improving the calculation of image size attributes i have been working on:
    • PR #1382 – Update wp_calculate_image_sizes to Reflect Changes in sizes attribute
    • Issue #1389 – Accurate sizes improvement didn’t account for the disable filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for sizes – Merged

Plugin Check

Open Floor

  • @adamsilverstein I have one update: my PR adding User Timing metrics for the Interactivity 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. was approved and merged: https://github.com/WordPress/gutenberg/pull/60522 this is hidden behind a debug flag until the API is stable and also only available in the plugin for now

Our next chat will be held on Tuesday, August 6, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Performance Chat Agenda: 30 July 2024

Here is the agenda for this week’s performance team meeting scheduled for July 30, 2024 at 15:00 UTC.

  • Announcements
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release
      • Future release
    • 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 (and other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

If you have any topics you’d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

WordPress 6.6 Performance Improvements

This post is the latest in a series of updates focused on the performance improvements of major releases (see 6.5, 6.4, 6.3, and 6.2).

On July 16, 2024, WordPress 6.6 “Dorsey” was released to the public and includes some significant performance improvements. Continuing with work from previous releases, this release delivers significant performance improvements to the editor. Template loading improved by a notable 35+% with this tracking issue capturing all 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 improvements. For the second release in a row, significant new features were added for users to customize their sites, while ensuring minimal impact on server response times.

This post summarizes the performance change since the last release in the 6.5 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". (6.5.5) and the 6.6 release, and then digs into the details of the most significant performance related changes.

Analysis shows that block themes (Twenty Twenty-Four was tested), experienced modest regressions in performance. The median Largest Contentful Pain (LCP) time shows a slight 7ms or 5% decline in tests, and the median Time To First Byte (TTFB) shows a 10ms (14%) decline. While some overhead typically accompanies new features, these declines point to areas where we can improve in the future.

Classic themes show a smaller 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. (Twenty Twenty-One was tested). The median Largest Contentful Pain (LCP) time shows a slight 1ms or 1% decline in tests, and the median Time To First Byte (TTFB) shows a 1.2ms (3%) decline. 

Further details on the methodology behind these measurements are provided later in this article, along with an explanation of possible regression sources.

Key changes

Priming transient and transient timeout options in `get_transient`

On sites without a persistent cache, temporary transients are stored in two options. One containing the transient itself, the other containing the timeout. In #61993 the querying of expiring transients is reduced from two to a single database request. Impact could be significant on sites running plugins that make heavy use of transients.

Obsolete polyfills dependencies have been removed

In #60962 now obsolete polyfills such as wp-polyfill, wp-polyfill-inert and regenerator-runtime were removed from the reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. script dependency in WordPress. They are no longer needed in modern browsers supported by WordPress. Typical sites using React on the front end may see a moderate performance improvement because these scripts will no longer need loading and contend for resources other scripts might need. 

Disable autoload for large options

In #42441, autoloading for options was given more granular control. In addition, when options are added without explicitly setting an `autoload` value, WordPress will automatically skip autoloading for large options (see dev note). The goal of this change is to reduce slow database responses, sometimes caused by very large autoloaded options.

Add a “Audit Autoloaded Options” section in Site Health

#61276 adds a test under the Site Health section to monitor autoloaded options. It displays the number and size of autoloaded options. It shows a ‘good’ status if the autoloaded options are within acceptable limits but a ‘critical’ status if the autoloaded options exceed the predefined threshold (default: 800,000 bytes), indicating a potential performance issue.

Cache block theme patterns persistently

In [58025], block theme patterns caching was updated to use transients so in order to extend the performance benefits of caching these patterns to sites that are not running an external object cache. Our initial benchmarks showed that eliminating the cost of loading all of the Twenty Twenty Four theme’s block patterns on each request saved ~13% of the total server response time.

Introduce wp-on-async directive as performant directive

In Gutenberg PR 61885 a new wp-on-async directive was added to the Interactivity 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.. This ensures that when there are multiple directives for the same event, they do not add up to a long task. This is also true if a single directive itself causes a long task. It also gives the main thread time to update the UIUI User interface before running any potentially long handler code, since this directive yields to the main thread immediately before invoking the action/callback. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks including navigation, query pagination and search were all updated to use the new async callbacks in GB PR #62160. Lastly, if an action is unable to leverage wp-on-async due to needing synchronous access to the event object, the wordpress/interactivity package now exposes a splitTask() function which can be used to manually yield in the callback. See example in the documentation for Async Actions

Enable lazy-loading of post embeds

WordPress lets you embed a preview of a post into another post simply by pasting its URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in the editor. In #58773, the resulting iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. is now automatically lazy loaded similar to the way other embeds are lazy loaded.

Optimizations for transients

Networknetwork (versus site, blog) transients are now primed in a single call and get_site_transient was updated to prime multiple caches at once. The wp_prime_network_option_caches function was added, saving ~3 datebase calls per page load on 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. See #61193 and #61053.

How release performance is measured

The performance measurements used for the overview are based on benchmarks conducted using an automated workflow on 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/ action runners. Benchmarks were taken of the homepage of the Twenty Twenty-One and Twenty Twenty-Four themes with and without object caching enabled via memcached, comparing WordPress 6.6 with WordPress 6.5.5 (the latest version of WP 6.5 available when 6.6 was released).

Performance metrics were collected from 100 runs for both Core Web Vitals (CWV) and Server-Timing headers provided by 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 using CLI scripts from the WPP Research repo.

Benchmark Data

The report data is summarized in this document

Full report data is below:

Follow up from this release

  • An issue was opened to investigate where the regressions may have come from. Current investigations point to a couple of possible regression points:
    • r57920: Options, 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. APIs: Use more sensible default for autoloading options.
    • r58264: Block Themes: Add section styling via extended block style variations – which is  being worked on in core.trac.wordpress.org/ticket/61451.
  • The performance team is working to improve our performance testing tools consistency and robustness, including a roadmap for performance testing next steps.
  • Performance Labs – the plugin(s) we use to test out new performance features for core – continues to add new features such as Image Prioritizer , Embed Optimizer, Speculative Loading, Performant Translations and Modern Image Formats (added AVIF and picture element support), and Enhanced Responsive Images.
  • Work on better alignment between test methodologies for Core and 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/.

Thanks to @westonruter, @joemcgill  and @annezazu and @spacedmonkey for contributing to this post.

#6-6, #core, #core-performance, #performance

Performance Chat Summary: 23 July 2024

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

Announcements

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (6.7)
    • Future releases
  • 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 (and other performance plugins)
    • Enhanced Responsive Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • There are currently 16 performance issues in 6.7
  • @pbearne I need input on this ticketticket Created for both bug reports and feature development on the bug tracker. as I made opinionated changes as to which option should not be autoloaded #61103
    • @joemcgill I plan on digging into that PR to give you feedback, but am going to be out on holiday for a bit. If anyone else has time to look at this in the mean time, please do so.
    • @mukesh27 I will take a look this week
    • @joemcgill One thing that will be good to understand, is that if we aren’t autoloading options that are only needed in the adminadmin (and super admin), how do we make sure the editor experience isn’t negatively affected. I think you’re already planning on priming all of those options in the admin, but would be good to get some performance measurements of the before/after of both the front end and admin.
    • @pbearne I have a 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. to load the admin options in back on wp_int

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 I have been working on PRs that ready for review:
    • Performance Lab plugin:
      • PR #1374 – Autoloaded Options Health Check: Disabled options reappear in Site Health after external update
    • Modern Image Formats plugin:
      • PR #1354 – Picture element: The accurate sizes improvement for images not working
  • @westonruter It seems like we’re getting increasing reports of issues with image generation in Modern Image Formats
    • In GitHub and support forums
    • @westonruter Might be related to the issue of AVIF generation taking a very long time sometimes?
    • @joemcgill Ah, I do remember cases a long time ago where image generation could take longer than the max PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher timeout on some hosts and result in the attachment data being created in the DB while the actual image generation failed. I wonder if something like that is happening?
    • @westonruter That’s being discussed here: https://github.com/WordPress/performance/issues/371
    • @adamsilverstein this could also be a support detection issue, (where format support for AVIF gives a false negative or positive), interesting they say it falls back to WebP
    • @westonruter I wonder if the AVIF generation should be moved a background process? Use the JPEG immediately upon upload and then use the AVIF once it is available
    • @adamsilverstein we already have a way of generating images in multiple passes, but it needs to be able to process one image completely before the timeout
    • @joemcgill That’s a good idea. There is prior art for generating missing intermediate sizes that could be referenced.
    • @pbearne Idea: we need a long process control for wp-admin that can be used for any task that takes a long time (images gen, post delete, etc.)
    • @adamsilverstein https://github.com/WordPress/performance/issues/490 was part of that previous effort, there is also a trac ticket
    • @westonruter I thought that was primarily for regenerating the entire media library
    • @adamsilverstein yes, but part of that was the ability to regenerate images in i the background #6814 16 year old ticket
    • @joemcgill It’s not totally accurate anymore, after #40439
    • @adamsilverstein true, we partially solved the issue with that, as long as the user agent remains present to trigger the retries
    • @joemcgill I’ve played with using WP_Cron for this a looooooong time ago, but that can cause failures to affect end-user front-end requests, which we’d want to avoid

Active Priority Projects

Improving the calculation of image size attributes

  • @mukesh27 For Improving the calculation of image size attributes i have been working on:
    • PR #1382 – Update wp_calculate_image_sizes to Reflect Changes in sizes attribute
    • Issue #1389 – Accurate sizes improvement didn’t account for the disable filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for sizes
    • @joemcgill I’m reviewing those this morning

Plugin Check

Open Floor

  • WordPress 6.6 performance analysis
    • @adamsilverstein Yes… I have been working on a post for 6.6 performance changes and will share a draft here for feedback soon!
    • one challenge has been identifying the source of the slight regressions we see in 6.6 (the numbers haven’t changed much since I shared results here for an RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). a few weeks ago)
    • part of the challenges is tracking changes that originate in 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/ project and are then merged over to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. our automated tests haven’t highlighted issues, nor are the Gutenberg performance tests
    • some ideas: it might be because the regressions are very small and spread out over a number of commits, or it might be related to the difference in how we are doing automated tests. in case, it points to an area we can improve
    • @joemcgill Agreed. There are a number of improvements that we could make to our CI infrastructure in both the GB repo and in Core that would help. We’ve already got https://github.com/WordPress/performance/issues/1380 as a place to discuss a set of improvements we want to focus on next. I’d love to see more discussion there so we can define and prioritize some next steps.
    • One of the questions that I still have is whether the benchmarks that we have been taking at the end of each release are providing us with useful info, or if they are obscuring what is really happening in the field.  @adamsilverstein I’m curious if we could get some HTTPArchive data after 6.6 has been out a while to see if our lab benchmarks relate to real user data or not.
    • @adamsilverstein that is a good point, I’m happy to work on that. we should have enough data in a few months.
    • some performance improvements we are adding will really only become apparent in the field data, and our automated testing can’t really measure those

Our next chat will be held on Tuesday, July 30, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Performance Chat Agenda: 23 July 2024

Here is the agenda for this week’s performance team meeting scheduled for July 23, 2024 at 15:00 UTC.

  • Announcements
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release
      • Future release
    • 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 (and other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor
    • WordPress 6.6 performance analysis

If you have any topics you’d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 16 July 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • Version 3.3.0 of 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 was released yesterday
  • WordPress 6.6 release happening today Tue Jul 16

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release
    • Future release
  • Performance Lab plugin (and other performance plugins)
    • Enhanced Responsive Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • @joemcgill For visibility: on Friday, I reverted r58334 due to a late reported bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. related to the caching global styles for blocks. This was done as part of #59595. I have a PR that I need to refresh that fixes the issue and reinstates the cache, which I hope to have included in 6.6.1.
  • There are currently 12 performance issues in 6.7 which will be reviewed in tomorrow’s bug scrub

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 I have also opened an issue for the Picture element: The accurate sizes improvement for images not working #1349. The new changes from the Enhanced Responsive Images (formerly known as auto-sizes) plugin are not working
    • @westonruter let’s prioritize fixing those and push out short-cycle standalone releases
    • @mukesh27 confirmed it’s Modern Image formats plugin causing the bug and will share more details on issue

Active Priority Projects

Improving the calculation of image size attributes

  • @joemcgill now that we’ve released the first version of Auto-sizes Enhanced Responsive Images that includes those improvements, I think @mukesh27 and I will need to update the overview issue with the main goals for the next priority features. At the same time, we’ll continually iterate on issues that come up during testing.

Improved template loading

  • @joemcgill There were a couple of remaining tasks open on the Improved template loading epic, but at this point, we’ve accomplished the majority of what was originally planned and the remaining items really are iterative improvements to the WP_Theme_JSON system that really could be tracked as part of ongoing CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. work, or as a collaborative issue in 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/ repo, so I’m going to close up the related tickets and close that issue.
  • This section will be dropped from the agenda moving forwards

Plugin Check

Open Floor

  • @swissspidy I opened a proposal a while ago for a new PL plugin: https://github.com/WordPress/performance/issues/1324 The idea is to take data collected by Optimization Detective and display them in a nice little dashboard. Not sure yet how useful that would be, but thought I’d share it 🙂
    • @joemcgill I love this idea and wonder if there is an opportunity to surface other kinds of performance data on that dashboard, like CWV scores if available, etc. Though I really like the different use cases we’re finding for the Optimization Detective 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.. “CWV scores if available” meaning from the CrUX API
      • @westonruter I suppose to compare with the CWV metrics from actual visitors as measured by Optimization Detective?
    • @westonruter Yeah, actually storing the CWV metrics in the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Metrics custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. would be a key part of this. Currently we only store which element was the LCP, not what the LCP metric is.
    • @joemcgill Unless we’re collecting metrics from every visit, I think we’d need to somehow be clear about how those CWV metrics are representative of real users, and not a full picture.
    • @westonruter Yeah. It would be a sampling, for sure. But so is CrUX. Although surely CrUX sampling would be higher, assuming you get enough traffic to qualify
    • @joemcgill It is, but CrUX is a larger sample size than what we’re collecting with OD. The real value is that this would allow sites to get URL level data which can be more difficult for site owners to get from CrUX
    • @swissspidy There was also a proposal to use a separate storage mechanism (e.g. a custom table or CPT) that allows storing the data for more than 30 days
    • @swissspidy Precisely. And also without waiting for next month’s data to arrive etc. You could more quickly see the performance impact of changes made to the site.
    • @joemcgill Rather than making this a separate plugin, I really think we should consider adding this type of data to Performance Lab and integrate OD when available (or bundle the API into that plugin too). Now that all of our Performance features are unbundled into standalone plugins, I think there’s an opportunity for PL to add more value as a tool for collecting and surfacing performance metrics and opportunities for improvement to site owners.
  • @swissspidy Another quick update from my side: I had some very productive discussions with some Gutenberg folks about client-side media processing and they shared some valuable feedback about separation of concerns. I am currently refactoring my Media Experiments plugin based on that feedback, hoping to have something that can be merged into Gutenberg afterwards. The tracking issue on the Gutenberg repo is this one: https://github.com/WordPress/gutenberg/issues/61447

Our next chat will be held on Tuesday, July 23, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Performance Chat Agenda: 16 July 2024

Here is the agenda for this week’s performance team meeting scheduled for July 16, 2024 at 15:00 UTC.

  • Announcements
    • Welcome to our new members of #core-performance
    • Version 3.3.0 of 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 was released yesterday
    • WordPress 6.6 release happening today Tue Jul 16
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release
      • Future release
    • Performance Lab plugin (and other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

If you have any topics you’d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 9 July 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • The next Performance Lab release will take place on Mon Jul 15, see https://github.com/WordPress/performance/milestones
  • WordPress 6.6 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 3 happening today, ahead of the main release scheduled for Tue Jul 16

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (WP 6.6)
    • Future release
  • 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 (and other performance plugins)
    • Auto-Sizes for Lazy-Loaded Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

  • @westonruter For Embed Optimizer, this PR will be ready for review this morning. I just need to add the description to detail the changes: https://github.com/WordPress/performance/pull/1302
    • This includes fundamental enhancements to Optimization Detective to make it much more powerful to be able to make optimizations to a document (e.g. what Embed Optimizer requires)
  • @westonruter I think the plugin with the most need is Modern Image Formats as there are a couple bugs needing to be fixed: https://github.com/WordPress/performance/milestone/59
  • @mukesh27 the updated sizes feature from auto-sizes is ready for this release, some final PRs ready for review:
    • PR #1335 – Plugin rename
    • PR #1329 – Merge feature 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". to 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.
  • @joemcgill there’s also a proposed name change for the Auto-Sizes plugin

Active Priority Projects

Improving the calculation of image size attributes

  • Discussed above

Improved template loading

  • @joemcgill The template loading work is mainly wrapped up in 6.6. There are a few minor follow-up issues that I think we’ll continue to track but I’ll work on summarizing next steps and closing up those GH issues.
    • The two things that are on my mind in the short term are:
      • Supporting the Plugin Check project as the Plugin Review team are working to get it integrated into their systems.
      • Improving our performance metrics for both CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and GB.

Plugin Check

  • @joemcgill For Plugin Check, I’d like to get more eyes on this conversation., which may end up being a requirement for them to do the integration

Open Floor

  • @mukesh27 Do we have any open issue for Improving our performance metrics for both Core and GB 
  • @joemcgill raised that @swissspidy mentioned one last week that included both misc improvements and shared performance tooling and asked about whether we should separate these issues https://github.com/WordPress/performance/issues/1093
    • I do think it would serve us well to put some focus on this early in the 6.7 cycle so we can more easily pinpoint which commits have server timing performance implications. That’s been a big challenge the past 2 releases. (In the GB repo specifically)
  • @pbearne I am thinking of suggesting that WP has an infrastructure release where we update/re-organize the PHPUnit tests etc. as without core committers actively making the changes it will never get done. The performance testing could be part of this
    • @joemcgill I would suggest proposing the infrastructure changes you have in mind and whether those become a release focus or not, could be secondary.

Our next chat will be held on Tuesday, July 16, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Performance Chat Agenda: 9 July 2024

Here is the agenda for this week’s performance team meeting scheduled for July 9, 2024 at 15:00 UTC.

  • Announcements
    • Welcome to our new members of #core-performance
    • The next Performance Lab release will take place on Mon Jul 15, see https://github.com/WordPress/performance/milestones
    • WordPress 6.6 RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 3 happening today, ahead of the main release scheduled for Tue Jul 16
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release (6.6)
      • Future release
    • 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 (and other performance plugins) including:
      • Auto-Sizes for Lazy-Loaded Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

If you have any topics you’d like to add to this agenda, please add them in the comments below.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat