Performance Chat Summary: 23 April 2024

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

Announcements

Priority Items

Structure:

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (WP 6.6)
  • 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)
  • Active priority projects
    • Improve template loading
    • INP research opportunities
    • Improving the calculation of image size attributes
    • Optimized autoloaded options

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

  • @westonruter the Speculative Loading plugin is already at 9000+ active installs! I expect it to tip into the 10k+ range today as the counts have been increasing about 1k per day
    • @joemcgill One of the important things for us to understand with Speculative Loading is what the impacts are on the sites that are using it, that includes performance impact, obviously, but also how it effects things like server resource usage, integration with analytics or other things that may not expect some requests to come from non-users.
    • @westonruter Yes, the readme has been updated to note that. However, people don’t always read the readmes
  • @westonruter planning to kick off the Image Prioritizer plugin this week which will split out the image-specific logic from Optimization Detective, leaving that plugin as an APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. dependency. We can then feature Image Prioritizer in the PL plugin to promote to users.

Active Priority Projects

Improve template loading

  • @joemcgill For the ongoing template loading epic we’ve been working on (https://github.com/WordPress/performance/issues/746) there are 3 main tickets we’re tracking for 6.6:
  • @joemcgill On #59600, I just committed r58025, which covers 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. theme patterns on Friday. As @thekt12 has looked into improvements for block templates and template parts, it seems that most of the cost is related to the underlying Theme JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. processing, which is covered by #57789
    • @joemcgill did some cleanup, and added some updates to #57789 on that ticketticket Created for both bug reports and feature development on the bug tracker. yesterday
  • @spacedmonkey Is anyone looking into #59596
    • Call file size on every css file results in multiple file operations. Might be a good one to pickup, there is already a PR, should be simple to get across the line.
  • @thekt12 most of this is repeat to what @joemcgill said above-
    • #59600 Performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in block tempalte part was related to get_theme_data ( this will be handled in #57789 )
    • #59595 Current implementation (PR#6392) was found to have benefit but need to resolve circular dependency – a bit complex scenerio (this)
    • #57789 So far we have observed benefits of caching WP_Theme_JSON_Resolver::get_theme_data – I am checking any side effects if we do so.
    • We will be caching WP_Theme_JSON_Resolver::get_core_data data inside WP_Theme_JSON_Resolver::get_merged_data , we believe it will result in 3-4% improvement alone and is not subjected to much change.

INP research opportunities

Improving the calculation of image size attributes

  • @joemcgill noted that he worked with @adamsilverstein and started looking into creating a Colab to capture and compare metrics for this, which is what I’m planning to focus on this week

Optimized autoloaded options

  • @joemcgill I created a follow-up ticket last week to update the default auto load option values that get set by coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. to use the new schema we introduced in #42441@pbearne also started a draft of the dev-note for that change, which I owe a review on.

Open Floor

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

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