<div style="text-align:center"></div><div>
<p><a href="https://make.wordpress.org/core/2023/11/21/performance-chat-agenda-21-november-2023/">Meeting agenda here</a> and the full chat log is available <a href="https://wordpress.slack.com/archives/C02KGN5K076/p1700582390251729">beginning here on Slack</a>.</p>
<h2 class="wp-block-heading">Announcements</h2>
<ul>
<li>Welcome to our new members of <a href="http://wordpress.slack.com/messages/core-performance/">#core-performance</a></li>
</ul>
<h2 class="wp-block-heading" id="focus-group-updates">Priority Projects</h2>
<h3 class="wp-block-heading" id="images">Server Response Time</h3>
<p><a href="https://make.wordpress.org/performance/roadmap-2023/#category-server-response-time">Link to roadmap projects</a> and link to the <a href="https://github.com/orgs/WordPress/projects/112/views/1">GitHub project board</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> <a href="https://profiles.wordpress.org/swissspidy/" class="mention"><span class="mentions-prefix">@</span>swissspidy</a> <a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> <a href="https://profiles.wordpress.org/mukesh27/" class="mention"><span class="mentions-prefix">@</span>mukesh27</a> <a href="https://profiles.wordpress.org/pereirinha/" class="mention"><span class="mentions-prefix">@</span>pereirinha</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> I was working on template loading research for – <a href="https://github.com/WordPress/gutenberg/issues/45601-" target="_blank" rel="noreferrer noopener">https://github.com/WordPress/gutenberg/issues/45601</a> this were the findings-
<ul>
<li><code>register_block_core_template_part</code> accounts for <code>~7%</code> of load time <code>~80ms</code>. The function calls</li>
<li>build_template_part_block_variations, which accounts for <code>99%</code> of the function time. This function is called in almost every page. The root reason for this is deep down in the call stack it calls <code>WP_Theme_JSON_Resolver::get_merged_data</code>, which calls <code>WP_Theme_JSON::__construct</code> for parsing theme json.</li>
<li>Another interesting thing we found is that by disabling <code><strong>build_template_part_block_variations</strong></code><strong>,</strong> for pages that don’t require it, we found there is an improvement of ~80ms which align to the total time needed for register_block_core_template_part.</li>
<li>Disabling change that was made – <a href="https://github.com/WordPress/gutenberg/issues/45601#issuecomment-1516214955" target="_blank" rel="noreferrer noopener">https://github.com/WordPress/gutenberg/issues/45601#issuecomment-1516214955</a> tested on default homepage of TT4</li>
<li>Before Change –<a href="https://blackfire.io/profiles/933e16a5-0932-41e3-8fb7-a21c10dc3811/graph" target="_blank" rel="noreferrer noopener"> https://blackfire.io/profiles/933e16a5-0932-41e3-8fb7-a21c10dc3811/graph</a></li>
<li>After Change-<a href="https://blackfire.io/profiles/c225c202-974c-4a9c-886f-ef731273461c/graph" target="_blank" rel="noreferrer noopener"> https://blackfire.io/profiles/c225c202-974c-4a9c-886f-ef731273461c/graph</a></li>
<li>The challenge is how to tell apart pages that have variations from pages that don’t</li>
</ul>
</li>
<li><a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> In short – we can get some improvement for pages if we disable variations for pages we don’t need it. Root cause is however parsing of theme json.</li>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> Interesting! It sounds like the ongoing work to add improved caching to <code>WP_Theme_JSON</code> data is still the most promising improvement, if we can come up with a good strategy for doing so. <a href="https://core.trac.wordpress.org/ticket/57789">#57789</a> Is that your read?</li>
<li><a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> Yes, improving WP_Theme_JSON is the most promising improvement. In addition we can also disable variations for pages that don’t need them to be loaded.</li>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> So the question then is how to know when a variation needs to be loaded and when not?
<ul>
<li><a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> Yes this is something I am trying to figureout.</li>
</ul>
</li>
<li><a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> A snapshot of before and after. And the change improve ~80ms in total load time too [<a href="https://wordpress.slack.com/archives/C02KGN5K076/p1700583303181129" data-type="link" data-id="https://wordpress.slack.com/archives/C02KGN5K076/p1700583303181129">link to image</a>]</li>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> I think creating a Trac ticket for further exploration would be the best next step, since this was originally only being discussed in the GB repo, but will require core changes, I believe.</li>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> Related to the above, I’ve been working on <a href="https://core.trac.wordpress.org/ticket/59719">#59719</a> some this week, with hopes of having something sharable this week.</li>
</ul>
<h3 class="wp-block-heading" id="images">Database Optimization</h3>
<p><a href="https://make.wordpress.org/performance/roadmap-2023/#category-database-optimization">Link to roadmap projects</a> and link to the <a href="https://github.com/orgs/WordPress/projects/119/views/1">GitHub project board</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/mukesh27/" class="mention"><span class="mentions-prefix">@</span>mukesh27</a> <a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/pbearne/" class="mention"><span class="mentions-prefix">@</span>pbearne</a> I have refreshed <a href="https://core.trac.wordpress.org/ticket/42441">#42441</a> and fixed an issue with update_options function. Does it need a proposal for core, or can it just get merged? Do we need/want an upgrade routine/CLI command to remove all the oversized options from autoload list?
<ul>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> When we last looked at that issue, my understanding was that we weren’t totally sold that the approach to change the DB values was ready, or at least needed some broader consensus and testing. Not sure if <a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> had a different opinion. Regardless, having this refreshed and looked over with fresh eyes is wonderful!</li>
<li><a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> </li>
<li>Thanks for iterating on this. I’m planning to take another look at this today or tomorrow. We still have to indeed decide on what to do with the database value, but there were other issues in the original PR, so having an update is great.</li>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> At minimum, I would love to see the approach written up on the ticket rather than just in the PR so the DB changes being proposed are clear.</li>
</ul>
</li>
</ul>
<h3 class="wp-block-heading" id="object-caching">JavaScript &#038; CSS</h3>
<p><a href="https://make.wordpress.org/performance/roadmap-2023/#category-javascript-css">Link to roadmap project</a> and link to the <a href="https://github.com/orgs/WordPress/projects/114/views/1">GitHub project board</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/mukesh27/" class="mention"><span class="mentions-prefix">@</span>mukesh27</a> <a href="https://profiles.wordpress.org/10upsimon/" class="mention"><span class="mentions-prefix">@</span>10upsimon</a> <a href="https://profiles.wordpress.org/westonruter/" class="mention"><span class="mentions-prefix">@</span>westonruter</a> <a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> This effort is worth keeping an eye on: <a href="https://make.wordpress.org/core/2023/11/21/exploration-to-support-modules-and-import-maps/" target="_blank" rel="noreferrer noopener">https://make.wordpress.org/core/2023/11/21/exploration-to-support-modules-and-import-maps/</a></li>
<li><a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> I have continued iterating on <a href="https://github.com/WordPress/performance/pull/733" target="_blank" rel="noreferrer noopener">https://github.com/WordPress/performance/pull/733</a>, which is that new Speculation Rules module. I created a feature branch for it yesterday, as this definitely shouldn’t ship until January or so, whenever that browser feature becomes generally available
<ul>
<li>Currently thinking about what would be the customization needs there and how that could be exposed via a simple API. The Speculation Rules API is very bespoke in that it allows all sorts of nesting with “and” and “or” and “not” conditions, so I feel making that entire API e.g. a filter would be too error-prone. And maybe it’s too low-level to expose at that degree entirely. But there are definitely certain more specific aspects that need to be customizable per site</li>
<li>I’m also in contact with some of the Chromium folks working on this on the browser side, to get a better sense of some of those implications</li>
</ul>
</li>
</ul>
<h3 class="wp-block-heading" id="measurement">Images</h3>
<p><a href="https://make.wordpress.org/performance/roadmap-2023/#category-images">Link to roadmap projects</a> and link to the <a href="https://github.com/orgs/WordPress/projects/116/views/1">GitHub project board</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> <a href="https://profiles.wordpress.org/thekt12/" class="mention"><span class="mentions-prefix">@</span>thekt12</a> <a href="https://profiles.wordpress.org/adamsilverstein/" class="mention"><span class="mentions-prefix">@</span>adamsilverstein</a> <a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> <a href="https://profiles.wordpress.org/pereirinha/" class="mention"><span class="mentions-prefix">@</span>pereirinha</a> <a href="https://profiles.wordpress.org/westonruter/" class="mention"><span class="mentions-prefix">@</span>westonruter</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> I’ve been working on some initial explorations for improving the way WP calculates the <code>sizes</code> attribute with some success. Working on wrapping up some initial exploration and writing up some options we may be able to pursue there.</li>
<li><a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> Weston is OOO as mentioned above, but he has made a lot of progress on the image loading optimization efforts (using client-side detection). For example, <a href="https://github.com/WordPress/performance/pull/878" target="_blank" rel="noreferrer noopener">https://github.com/WordPress/performance/pull/878</a> was merged into the feature branch last week</li>
</ul>
<h3 class="wp-block-heading" id="javascript">Measurement</h3>
<p><a href="https://make.wordpress.org/performance/roadmap-2023/#category-measurement">Link to roadmap projects</a> and link to the <a href="https://github.com/orgs/WordPress/projects/120">GitHub project board</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/adamsilverstein/" class="mention"><span class="mentions-prefix">@</span>adamsilverstein</a> <a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> <a href="https://profiles.wordpress.org/mukesh27/" class="mention"><span class="mentions-prefix">@</span>mukesh27</a> <a href="https://profiles.wordpress.org/swissspidy/" class="mention"><span class="mentions-prefix">@</span>swissspidy</a> <a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> Nothing new from me this week, but I do have on my to do list to do a broader profiling report of 6.4 to identify any additional server timing opportunities for the 6.5 cycle.</li>
<li><a href="https://profiles.wordpress.org/swissspidy/" class="mention"><span class="mentions-prefix">@</span>swissspidy</a> On <a href="https://core.trac.wordpress.org/ticket/59900">#59900</a> I shared some initial thoughts on using a proper test matrix for the core performance tests
<ul>
<li><a href="https://profiles.wordpress.org/joemcgill/" class="mention"><span class="mentions-prefix">@</span>joemcgill</a> Is there any specific feedback you’re looking for?</li>
<li><a href="https://profiles.wordpress.org/swissspidy/" class="mention"><span class="mentions-prefix">@</span>swissspidy</a> Maybe some thoughts on how we’d like the summary to look like on GH (there’s an example link in my comment), and how important it would be to be able to run the same matrix locally as well.</li>
</ul>
</li>
</ul>
<h3 class="wp-block-heading">Ecosystem Tools</h3>
<p><a href="https://make.wordpress.org/performance/roadmap-2023/#category-ecosystem-tools">Link to roadmap projects</a> and link to the <a href="https://github.com/WordPress/plugin-check">GitHub repo</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/mukesh27/" class="mention"><span class="mentions-prefix">@</span>mukesh27</a> <a href="https://profiles.wordpress.org/swissspidy/" class="mention"><span class="mentions-prefix">@</span>swissspidy</a> <a href="https://profiles.wordpress.org/westonruter/" class="mention"><span class="mentions-prefix">@</span>westonruter</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/clarkeemily/" class="mention"><span class="mentions-prefix">@</span>clarkeemily</a> we are intending to reach out to the plugin review team again today to continue the remaining roadmap to v1.0.0 here <a href="https://github.com/WordPress/plugin-check/issues/283" target="_blank" rel="noreferrer noopener">https://github.com/WordPress/plugin-check/issues/283</a></li>
</ul>
<h3 class="wp-block-heading" id="infrastructure">Creating Standalone Plugins</h3>
<p><a href="https://github.com/WordPress/performance/issues/656">Link to GitHub overview issue</a></p>
<p>Contributors: <a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> <a href="https://profiles.wordpress.org/mukesh27/" class="mention"><span class="mentions-prefix">@</span>mukesh27</a> <a href="https://profiles.wordpress.org/10upsimon/" class="mention"><span class="mentions-prefix">@</span>10upsimon</a></p>
<ul>
<li><a href="https://profiles.wordpress.org/10upsimon/" class="mention"><span class="mentions-prefix">@</span>10upsimon</a> PR <a href="https://github.com/WordPress/performance/pull/864" target="_blank" rel="noreferrer noopener">864</a> IRO <a href="https://github.com/WordPress/performance/issues/651" target="_blank" rel="noreferrer noopener">Update PL settings screen with new UI to manage standalone plugins and built-in modules (651)</a> has finally been merged into the feature branch 
<ul>
<li><a href="https://github.com/WordPress/performance/issues/652" target="_blank" rel="noreferrer noopener">Implement migration logic and UI from old PL modules to new standalone plugins in PL settings screen (652)</a> has been re-visited from a requirements POV and is currently work in progress, thanks to <a href="https://profiles.wordpress.org/flixos90/" class="mention"><span class="mentions-prefix">@</span>flixos90</a> for detailing these out.</li>
<li>This work will be merged into the <a target="_blank" href="https://github.com/WordPress/performance/tree/feature/creating-standalone-plugins" rel="noreferrer noopener">common feature branch for the creating standalone plugins work</a></li>
</ul>
</li>
</ul>
<h1 class="wp-block-heading">Open Floor</h1>
<ul>
<li><a href="https://profiles.wordpress.org/luisherranz/" class="mention"><span class="mentions-prefix">@</span>luisherranz</a> Well, I was about to say that following up on <a href="https://wordpress.slack.com/archives/C02KGN5K076/p1699980288556409" target="_blank" rel="noreferrer noopener">last week’s mention</a> of the exploration of a Modules API, I had just published <a href="https://make.wordpress.org/core/2023/11/21/exploration-to-support-modules-and-import-maps/" target="_blank" rel="noreferrer noopener">this post in Make Core</a> to make people aware of the initiative and collect feedback. But <a href="https://wordpress.slack.com/archives/C02KGN5K076/p1700585491564869" target="_blank" rel="noreferrer noopener">the same link</a> just popped up in the middle of the conversation (I published it an hour ago) </li>
<li><a href="https://profiles.wordpress.org/clarkeemily/" class="mention"><span class="mentions-prefix">@</span>clarkeemily</a> The performance have suggested organising an ‘<strong>End of Year Hallway Hangout</strong>‘ with the intention of having the following as a loose agenda:
<ul>
<li>Retrospective sharing field data for the cumulative performance impact of the performance team’s work in 2023
<ul>
<li>Potential questions/discussion/interpretation on metrics</li>
</ul>
</li>
<li>Talking about 2024 plans</li>
<li>There are 2 options here if folks could vote:
<ul>
<li><strong>Thursday December 7 – won with 4 votes</strong></li>
<li>Thursday December 14</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>Our next chat will be held on <a href="https://www.timeanddate.com/worldclock/fixedtime.html?iso=20231128T1600"><abbr class="date" title="2023-11-28T16:00:00+00:00">Tuesday, November 28, 2023 at 16:00 UTC</abbr></a> in the <a href="https://wordpress.slack.com/messages/core-performance/">#core-performance channel</a> in <a href="https://make.wordpress.org/chat/">Slack</a>.</strong></p>
<p class="o2-appended-tags"><a href="https://make.wordpress.org/core/tag/core-performance/" class="tag"><span class="tag-prefix">#</span>core-performance</a>, <a href="https://make.wordpress.org/core/tag/performance/" class="tag"><span class="tag-prefix">#</span>performance</a>, <a href="https://make.wordpress.org/core/tag/performance-chat/" class="tag"><span class="tag-prefix">#</span>performance-chat</a>, <a href="https://make.wordpress.org/core/tag/summary/" class="tag"><span class="tag-prefix">#</span>summary</a></p>
</div>

The WP Minute is stepping into education. The publication best known for its interviews, podcasts,…
AI-powered site builders are having a moment in WordPress, and 10Web is the latest company…
For as long as Aaron Edwards and Joshua Dailey have known each other, they’ve been…
A U.S. magistrate judge has moved to rein in the escalating discovery battle between WP…
Ollie’s “game-changing” Menu Designer plugin is moving toward inclusion in WordPress core. Anne McCarthy says…
WordPress.com has rolled out support for the Model Context Protocol (MCP), allowing AI assistants to…