Performance Chat Summary: 30 January 2024

Meeting agenda here and the full chat log is available beginning here on Slack.
Announcements
- Welcome to our new members of #core-performance
Priority Projects
Server Response Time
- Link to roadmap projects and link to the GitHub project board
- Contributors: @joemcgill @swissspidy @thekt12 @mukesh27 @pereirinha
- Projects from the 2024 roadmap:
- Internationalization Performance
- Improve template loading
Notes from today’s meeting:
- @thekt12 working on https://github.com/WordPress/wordpress-develop/pull/5941, during discovery I did found some credit in caching prepared patterns
- Which I was trying over – https://github.com/10up/wordpress-develop/pull/82/files, visually nothing breaks but I am trying to get numbers for the performance improvement.
- @clarkeemily shares a screen grab from @swissspidy demonstrating when the Performant Translations work was merged
Database Optimization
- Link to roadmap projects and link to the GitHub project board
- Contributors: @mukesh27 @thekt12 @pbearne
- Projects from the 2024 roadmap:
- Optimized autoloaded options
Notes from today’s meeting:
- @pbearne started the dev notes to try and focus the changes for optimized autoloaded PR https://github.com/WordPress/wordpress-develop/pull/5671
- @thekt12 I’ll be picking up – https://github.com/WordPress/wordpress-develop/pull/5295/files early next week, need to address some review changes
JavaScript & CSS
- Link to roadmap project and link to the GitHub project board
- Contributors: @mukesh27 @flixos90 @westonruter @thelovekesh
- Projects from the 2024 roadmap:
- INP opportunities research
- Interactivity API
- Speculative prerendering
Notes from today’s meeting:
- @thelovekesh I have continue the work on https://github.com/WordPress/performance/pull/556 and addressed most of the feedback
- @westonruter Regarding Interactivity API, I shared this a few days in brief, but excited to share a preemptive INP win for WordPress 6.5: I found an issue where there was a long task occurring during page load (or whenever interactive blocks are hydrated), especially when there is not a trivial number of interactive blocks on the page (e.g. 20). (Recall that any image block with lightbox behavior is an interactive block now.) When profiling with 6x CPU throttling the hydration was causing a 300+ ms long task. I opened a pull request to fix this by yielding to the main thread between hydration of each interactive block. It should be included in WP 6.5 with the initial public availability of the Interactivity API.
- I have another pull request open which will defer hydration of interactive blocks until the node nears the viewport. This will require more iteration with the Gutenberg team and won’t be part of WP 6.5, but it’s another promising performance improvement.
- This one still needs another review: https://github.com/WordPress/performance/pull/952
Images
- Link to roadmap projects and link to the GitHub project board
- Contributors: @flixos90 @adamsilverstein @joemcgill @pereirinha @westonruter
- Projects from the 2024 roadmap:
- Image loading optimization
- API to facilitate more accurate “sizes” attribute
- Land AVIF support in core
- Client side image compression
Notes from today’s meeting:
- @westonruter For Image Loading Optimization, @thelovekesh has been working on getting a Webpack build process in place to ensure there is a local copy of web-vitals.js. It is now merged. This is related to his work on Partytown
- @westonruter Regarding sizes, I was doing some research yesterday on how well (or not) the
sizes
attribute is used in WordPress… The Web Almanac has a section on sizes from 2022 that shows it is a problem, but doesn’t single out WordPress specifically. I re-ran the query for determining problematic usage with sizes limited to WordPress, and compared December 2022 with December 2023, and the problem is getting worse. I’m hoping to share more specific numbers this week. - @adamsilverstein AVIF ticket if anyone wants to test or review the PR – https://core.trac.wordpress.org/ticket/51228 with AVIF support now in Edge stable, I marked this for commit
Measurement
- Link to roadmap projects and link to the GitHub project board
- Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90
- Projects from the 2024 roadmap:
- Stabilized automated performance testing metrics
- Improve core automated performance tests
Notes from today’s meeting:
- @swissspidy Regarding stabilization it’s good to see that the screenshot above relating to Performant Translations merge proves that our current setup is stable enough to see these drops
Ecosystem Tools
- Link to roadmap projects and link to the GitHub repo for Plugin Checker
- Contributors: @mukesh27 @swissspidy
- Projects from the 2024 roadmap:
- Creating standalone plugins milestone 2
- Plugin checker
- Reusable testing environment
Notes from today’s meeting:
- @mukesh27 for Creating standalone plugins milestone 2b:
- Run tests in different versions of PHP – merged
- Working on test suite update so that cover
plugins
– POC PR 956
- @mukesh27 for Plugin Check, nothing more, just been offering support by conducting code reviews for open PRs.
- @swissspidy we should be able to release v1.0 of Plugin Check very soon. Just some outstanding questions about how to deploy, and whether/where to write a blog post about it
- @thelovekesh I will be opening an issue to discuss if we should continue using “wp-env” in CI for unit testing. It will also cover optimizing existing workflows. POC on optimizing workflows and reducing dependency from third-party actions – https://github.com/thelovekesh/performance/pull/2
Open Floor
- @pbearne would like to invite you all to WordCamp Canada July 11-13, 2024 https://canada.wordcamp.org/2024
Our next chat will be held on Tuesday, February 6, 2024 at 16:00 UTC in the #core-performance channel in Slack.