Performance Chat Summary: 30 April 2024
Meeting agenda here and the full chat log is available beginning here on Slack.
Announcements
- Welcome to our new members of #core-performance
- New post published summarising the WordPress 6.5 performance improvements
Priority Items
Structure:
- WordPress performance Trac tickets
- Current release (WP 6.6)
- Performance Lab plugin (and other performance plugins)
- Active priority projects
- Improve template loading
- INP research opportunities
- Improving the calculation of image size attributes
- Optimized autoloaded options
WordPress Performance Trac Tickets
- For WordPress 6.6:
- @joemcgill For our auto-loading improvents, #42441, I owe @pbearne feedback on a draft of the dev-note (planning to do so this week). I also left some feedback on the follow-up issue (#61045)
- @pbearne I need feedback on this as I went through core and set the autoload for all update_options. If i felt they were admin only options i set them to off
- @joemcgill I think that’s a useful idea, but we should probably handle that in a separate issue/PR
- @pbearne in an attempt to reduce options load on the front-end
- @spacedmonkey I want to try and get https://github.com/WordPress/wordpress-develop/pull/6393 committed in the next couple of days. Just waiting on final feedback from @peterwilsoncc
- @spacedmonkey also working on https://github.com/WordPress/wordpress-develop/pull/6311. It needs tests.
- The
wp_prime_network_options
function is an example of where it might not have a direct benefit out of the box. It is a developer api and would enable plugins to “do the right thing” I prime multiple network options caches at once.
- The
- @thekt12 I have started a new PR 6463 for caching #57789 (not ready for review). I was trying to see if we could cache before filter to avoid unit test failures but seems that doing so only give 0.01% improvement.
- At the moment I am trying to cache inside
WP_Theme_JSON_Data::__construct
andWP_Theme_JSON::__construct
as they are the one with major regression
- At the moment I am trying to cache inside
- @joemcgill For our auto-loading improvents, #42441, I owe @pbearne feedback on a draft of the dev-note (planning to do so this week). I also left some feedback on the follow-up issue (#61045)
Performance Lab Plugin (and other Performance Plugins)
- @westonruter A PR is ready for review which allows performance features to have plugin dependencies. This is needed for Image Prioritizer which depends on Optimization Detective. With this PR merged, the work on Image Prioritizer can press forward full steam.
- @mukesh27 I worked on Progress indicator is missing when activating a feature and it has been merged! Requires a follow up though from this comment
- @joemcgill For the 3.1.0 milestone, we have one issue that needs an owner to move forward: https://github.com/WordPress/performance/issues/1032. @westonruter were you planning to pick that up from Felix, or do we need someone else to help move this forward?
- @westonruter had not planned it but @thelovekesh offered to pick up
- @westonruter Both Speculative Loading (PR merged) and Optimization Detective (PR pending merge, review please) will be able to be embedded in other plugins or themes to increase adoption. This is more relevant to Optimization Detective since it is lower-level plumbing which optimization plugins can leverage, and Speculative Loading is getting popular.
- Also for Speculative Loading, there’s a PR open to add a filter for whether speculation rules are printed and default to not printing when the user is logged-in non-admin or PHP session is active. Could use additional eyes to confirm the approach. Should there be a checkbox for whether to enable for logged-in users? Also, perhaps Speculative Loading should add a Site Health check for when PHP sessions are being used on the frontend so a user can be aware why it doesn’t seem to be doing anything?
Active Priority Projects
Improve template loading
- @joemcgill There are really only three issues remaining in this project, #59595, #59600, and #57789 (which we already discussed and is probably the most important next step).
INP research opportunities
- No updates this week
- GitHub tracking issue
Improving the calculation of image size attributes
- @joemcgill I spent some time updating the overview issue for Improving Images
sizes
, and began filling in some details. This project covers two main efforts to improve the way WP calculatessizes
:- Improving the default
sizes
algorithm (accounting for layout) - Implement the auto-sizes HTML spec (already handed by the auto-sizes plugin)
- Improving the default
- Rather than creating a whole separate performance feature plugin for developing the improvements to the default
sizes
algorithm, I think it makes sense to combine all of this into the original auto-sizes plugin. - In addition, I created an issue to track the work needed to measure and track the impact of these changes, in which I link to the latest data we were able to query from HTTPArchive as a baseline.
- @joemcgill has assigned one issue to @mukesh27
Optimized autoloaded options
- Updates covered in WordPress 6.6 item above
Open Floor
- @mukesh27 Is there any plan to merge https://github.com/WordPress/performance/tree/trunk/includes/site-health/audit-autoloaded-options in core?
- @spacedmonkey The blocker for the above was at the lack of action to.
- it is all well and good highlighting that there are 20 options that are very large, but with no way to fix it, a user it out of luck. I had planned to have a way of changing options to be from being autoloaded or not. Think checkbox and rest api to update the row in the database. I haven’t had anytime to look at now I am not sponsored.
Our next chat will be held on Tuesday, May 7, 2024 at 15:00 UTC in the #core-performance channel in Slack.