Performance Chat Summary: 5 September 2023

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

Announcements

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath @swissspidy

Database Optimization

Link to roadmap projects

Contributors: @aristath @spacedmonkey @olliejones

JavaScript & CSS

Link to roadmap project

Contributors: @mukesh27 @10upsimon @adamsilverstein @westonruter

  • @westonruter In continuation of the work on script loading strategies, I picked up #58664 to eliminate manual construction of script tags. This doesn’t strictly relate to performance now, but it does to security.
    • @spacedmonkey Related – https://core.trac.wordpress.org/ticket/58775
    • @westonruter Anyway, I left a comment in #core-js asking for feedback on an approach to migrate existing inline tags (primarily in the admin). The scope of the ticket may need to be pulled back to omit wp-admin. But the big security win with this is to be able to apply Strict CSP to WordPress sites, making persistent XSS much less of a possibility. Feedback on PR and ticket welcome

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy

  • No updates this week

Ecosystem Tools

Link to roadmap projects

Contributors: @mukesh27 @swissspidy @westonruter

  • No updates this week

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

Open Floor

  • @spacedmonkey What is the major performance focus of WP 6.4?
  • @joemcgill I don’t see us having any particular high-level goal for this release, in terms of new features, but more a continuation of working through our roadmap, so all of the things people just mentioned during this meeting
    • I do think it would be useful to make sure we’re involved earlier in testing out and giving performance feedback to any new functionality being developed in the Gutenberg plugin that is intended to land in 6.4
  • @spacedmonkey I would like to work on limiting file i/o. There is lots of low hanging fruit there.
    • @10upsimon curious to know if you have any analysis on this, in terms of where you see opportunity? I’d love to see it (even at a later stage) as this has bene something I’ve simply passed in thought a few times in the years. I’m also curious of things like the effects said savings will have in different FS type environments (if at all) etc. Will keep eye’s open on this topic.
    • @spacedmonkey If you look at xhprof, there are the most expensive functions. glob, realpath, file_exists and file_get_contents are all file I/O
    • @joemcgill One of the conflicting questions that is still unresolved here is whether individual calls to those functions have a consistent performance impact over time, or if PHPs internal caching of these function end up making them less expensive than it seems when doing an individual profile run. Some testing about that would be instructive
    • @spacedmonkey I have performance data on – https://core.trac.wordpress.org/ticket/59279 I understand there are caches, so calling the same file i/o twice isnt that bad, I am trying to avoid completely unnessarly calls all together.
    • @joemcgill Agreed. That’s been a big part of what I’ve been looking into for loading templates as well.
    • @10upsimon I’d be curious to know which of these have caching (natively) as I was under the impression most IO functions did not, so even if the function itself got cached, there is still the physical i/o process. So an unnecessary i/o process seems to indeed be a good starting point here

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

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

Leave a Reply

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