Performance Chat Summary: 18 April 2023

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

Announcements

  • 2.2.0 was released yesterday
  • UPDATED from agenda: fetchpriority standalone plugin is still under review (not ‘approved’ as originally thought)

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath

  • @joemcgill Happy to say that I’m back from some time off with two fully working arms, and am hopeful I’ll be able to publish some results from the profiling research I was doing earlier.
  • @spacedmonkey I have been reviewing @aristath
    autoloading PR. It is nearly there.
  • @flixos90 What about the performance implications of autoloading? I believe that was still an open question in regards to whether we should move forward with this
    • @spacedmonkey Autoloading massively improve RAM usage. CPU, it is a little benefit at the moment.
    • @flixos90 Obviously autoloading is a best practice, but I think we still need to assess what really are the benefits of it in WordPress core. Are there any benchmarks for those statements yet?
    • @johnbillion There were some numbers on the PR but they could do with being updated
    • @spacedmonkey https://github.com/WordPress/wordpress-develop/pull/3470#issuecomment-1490083546
    • @flixos90 That’s a single profile though, right? There is so much variance in load time data, I think we need to do something a bit more comprehensive for the timing metrics. The 5.5 MB -> 5.15 MB looks promising though
    • @spacedmonkey I haven’t done a tonne of benchmarking yet, it is a WIP.
    • @flixos90 That’s fair, though I think we should do that sooner than later to be confident that this is actually a beneficial change for WordPress core. Also best to use medians from all the results
    • @spacedmonkey What is the KPI here? CPU usage, response time, ram usage?
    • @joemcgill Has there already been a merge proposal created for this change? Seems like something that would need broader communication and would be an opportunity to include performance data alongside the technical details?
    • @johnbillion Would be good to see separate metrics for front end, wp-admin, REST API, too, hopefully improvements all around
    • @spacedmonkey I am happy to run all those tests and provide data. As I say, it is WIP at the moment. I will wait until @aristath gets back to me and says it is good for a full review

Database Optimization

Link to roadmap projects

Contributors: @aristath @spacedmonkey @olliejones @rjasdfiii

JavaScript & CSS

Link to roadmap project

Contributors: @mukesh27 @10upsimon @adamsilverstein

  • @10upsimon Regarding “Enhancing the WP Scripts API with a Loading Strategy”:
    • Iteration is underway following the code review completed by several WPP team members
    • This is now ready for another round of review here

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill

  • No updates this week

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @olliejones @joemcgill @mukesh27

  • @joemcgill I’m starting to collect some ideas for enhancements to the initial automated performance workflow we added last release and would be happy for any suggestions folks here have.

Ecosystem Tools

Link to roadmap projects

Contributors: @joegrainger

  • @joegrainger for the Plugin Checker, we’re working through the issues raised as part of the milestone 1 Review/QA and making good progress. We’ll continue to be working through these as over the coming weeks. Progress can be seen on the GitHub repo here. Feel free to take a look and leave any thoughts/ideas you may have there. Thanks!

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • @mukesh27 I continue working on some follow-up issues and milestone 2 tasks
  • @flixos90 At this point for milestone 1 we’re just waiting for plugin repo approval, then we can go ahead and publish the outstanding plugins Fetchpriority and Dominant Color Images
  • @flixos90 We may also want to start coordinating how we’re going to re-integrate the SQLite repository into the monorepo, cc @aristath
    • For the latter, we would be good to publish from the WordPress/performance repository any time now since the main effort has been completed
    • @joemcgill Seems like that should be handled before we release a version of the performance lab plugin that removes the related module
    • @flixos90 Absolutely, that would only be part of Milestone 2
    • @flixos90 asked @aristath Do you have an update on https://github.com/WordPress/performance/pull/677? Is that ready for another review?
    • @flixos90 I wonder what is left beyond the above PR in order to sync the two codebases. At some point soon we should probably code-freeze the standalone GitHub repository and make WordPress/performance the source of truth again, that way we’ll work in one codebase only, and we can publish from there a new version to WP.org any time

New Projects / Proposals

  • @spacedmonkey I am looking into the autoloaded options in WordPress. I am just getting up to speed.
    • Wonder if anyone here, as any thoughts on the matter. Articles, plugins or other work arounds I should look at as part of my research
    • One route I am looking into, is stop using the single autoload cache key and make it so each option using it’s own cache key. We can now use wp_cache_get_multiple to prime all autoloaded caches in one go.
    • @joemcgill Have we done any research into how many WordPress sites are able to make use of the benefits that get/set_multiple functions provide?
    • @spacedmonkey I have been looking at differnt object caching plugins
    • Sadly, many of them do not seem to implement wp_cache_get_multiple
    • But many of these are the list have not been updated in 5+ years, it is hard to know if they are still being used. I made a mega list – https://github.com/stars/spacedmonkey/lists/object-caching-plugins
    • @joemcgill Nice. I think it would be good for us to keep track of those numbers. Not that this should keep us from trying to optimize the caching of options, but it would help us better understand impact and ensure that any changes we make to support multi-cached options don’t create a regression for folks whose hosting doesn’t support those features.
    • @spacedmonkey memcache and redis support multiple gets, it is just a matter of updating plugins to support it as well. We have wp_cache_supports in core. I wonder if we could get any data from that. We have some sites on WordPress sites php etc.

Open Floor

  • No updates

Our next chat will be held on Tuesday, April 25, 2023 at 15:00 UTC in the #core-performance channel in Slack.

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

Leave a Reply

Your email address will not be published. Required fields are marked *