Performance Chat Summary: 25 June 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • Early WordPress 6.6 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. 2 performance results [GitHub issue]

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
  • 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
    • Fetchpriority
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • Last 2 performance tickets for 6.6 #59595 (merged) and #59600 (punted)

Performance Lab Plugin (and other Performance Plugins)

  • @thelovekesh added testing steps on https://github.com/WordPress/performance/pull/1247 which is ongoing PR for adding Web Worker Offloading plugin. As per last discussion on merging it in 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., this PR is ready for that
  • @westonruter hopes to pick up Web Worker Offloading next week
  • @mukesh27 the Extend core’s Autoloaded Options Site Health test if present (in WP 6.6) is merged
    @mukesh27 opened a couple issues related to Modern Images Formats and the implementation of the picture element. Those are up for grabs for anyone wanting to contribute
  • @westonruter Related to that, I found a downside to using the picture element in the first place, in that it is not currently possible to add fetchpriority=high preload links for picture elements since the link tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) doesn’t replicate all of the picture element’s sourcing features: https://github.com/WordPress/performance/issues/1312
    • @joemcgill Does adding fetchpriority directly to the image not work in this case?
    • @westonruter Yes that does, but the problem occurs when there are varying LCP elements for different breakpoints. So Image Prioritizer will need to explicitly avoid adding a preload link when the LCP element is a picture.
    • @joemcgill I would think that picture would make that easier, because each source would have it’s own media attribute
    • @westonruter Otherwise, it adds preload links for the LCP element in each breakpoint. The problem with the picture element is the type not the media.
      • Unless, would a browser skip requesting a preload link for an image when it has a type that is not supported? I didn’t think it did. But I’ll need to check that
  • @westonruter Related to Image Prioritizer, I’ve opened several other issues for enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. ideas on top of Optimization Detective.

Active Priority Projects

Improving the calculation of image size attributes

Optimized Autoloaded Options

  • The dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. has now been psoted https://make.wordpress.org/core/2024/06/18/options-api-disabling-autoload-for-large-options/

Improved template loading

  • @thekt12 I am working on review from @joemcgill here –
    https://github.com/WordPress/gutenberg/pull/62794/files
  • @joemcgill #59600 and #57789 have a lot of overlap and the former is mostly irrelevant at this point. We fixed the biggest problem #59600 with 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. patterns, but still have some things we wanted to progress in 6.7 for the WP_Theme_JSON system. However, the maintenance of that system between the GB repo on the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. repo has made executing and testing changes reliably pretty challenging. I opened this issue to discuss how we can improve this process going forward. I’d be happy for folks here to give feedback.
    • In terms of our tracking issue, I’ll post an update in light of the final 6.6 changes we were able to make and update any remaining tasks we want to pursue.

Open Floor

  • @joemcgill FYI: there’s a new channel, #pluginreview-plugincheck to have discussions related to maintaining the Plugin Check plugin that we helped build.
    • @thekt12 mentioned most PRs show errors
    • @joemcgill I’ve seen that on occasion as well, but not causing any merge checks to fail, and not consistently with the same message. Could be flaky e2e tests. 
  • @mukesh27 As the Performance Lab plugin has added support for WebP, AVIF, and Picture elements, what is the tentative WordPress version we are targeting for merging these features?
    • @joemcgill WP already supports uploading those versions, and gives site owners the ability to convert uploaded files to those formats using a 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., but there are currently no plans to make either the “default” format that is used for the intermediate sizes that WP creates.
    • @westonruter And merging picture element support will require a lot of testing and there will certainly be many theme and plugin compatibility issues
    • @joemcgill #55443 is probably the best ticketticket Created for both bug reports and feature development on the bug tracker. to revisit for this

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

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