Performance Chat Summary: 26 March 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • WordPress 6.5 delayed (see blog post):
    • RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 4 will be March 28
    • Release April 2
  • Performance Team have launched two new plugins
    • Optimization Detective 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
    • Embed Optimizer plugin
  • Reminder on timezone difference for this week, this chat will remain at 16:00 UTC and then shift to 15:00 UTC from April 2, 2024

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
    • Future release
  • Performance Lab plugin (and other performance plugins)
  • Active priority projects
    • INP research opportunities
    • Improve template loading

WordPress Performance Trac Tickets

  • For WordPress 6.5:
    • @flixos90 Nothing concrete, though since part of the reason for the release delay is changes to the Font 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., we should probably keep an eye on that it doesn’t regress performance. As far as I understand the scope of the changes, it shouldn’t… but still worth staying on top of
  • For Future Releases:
    • We already have 14 open items in the 6.6 milestone
    • @flixos90 update on #42441 (enhancing autoload API and disable autoload for large options) – The PR has two approvals and looks excellent to me, so I’ve marked the ticketticket Created for both bug reports and feature development on the bug tracker. for commit
      • Going to wait for a few more days to see if any additional feedback comes in, but generally plan to commit this next week so that we can get a lot of testing during the 6.6 release cycle

Performance Lab Plugin (and other Performance Plugins)

Active Priority Projects

    Improve template loading

    INP research opportunities

    • @adamsilverstein As promised, I have collected the results of my INP research and am sharing now in this summary doc (along with a linked spreadsheet with all the data). If you want access to the colab and queries, please request it directly in the colab.
      • The summary doc Analysis section highlights some notable data for both coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and plugins/themes (with action items) that will be worth investigating further. Since there is a ton to absorb there, I think its best to leave comments/questions on the doc itself so we can discuss async, and maybe we can discuss further at a subsequent meeting.

    Open Floor

    • @pbearne one ticket from the old tickets https://core.trac.wordpress.org/ticket/29717 might worth looking at
    • @joemcgill We’ve traditionally done a post following a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. which gives an overview of the performance characteristics of that release. I was planning to draft one for 6.5 once we can take a final set of benchmarks, but I’m assuming that we’re going to end with similar metrics to what we’ve been seeing in the last several RCs, since we’ve not had any new improvements or regressions. I’ll also include details about the editor improvements, but that doesn’t effect any of the CWV metrics we’ve been focusing on. I’d appreciate any thoughts folks have about how to communicate the performance of 6.5 clearly, while accurately reflecting that our benchmarks do NOT show an improvement over the previous release.
    • REMINDER: This meeting will switch to 15:00 UTC from April 2 (next week) onwards

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

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

    Performance Chat Summary: 19 March 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • WordPress 6.5 Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 3 is today (Mar 19)
    • Reminder on timezone difference for the next week, this chat will remain at 16:00 UTC and then shift to 15:00 UTC from April 2, 2024

    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
      • Future release
    • 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
      • INP research opportunities
      • Improve template loading
      • Plugin checker

    WordPress Performance Trac Tickets

    Performance Lab Plugin (and other Performance Plugins)

    Active Priority Projects

    Plugin Checker

    • No updates this week, will be removed from agenda moving forwards unless there are proactive updates on release 1.1

    Improve template loading

    • @thekt12 I should be able to raise a PR for review today, for #59600 including template part caching

    INP research opportunities

    • @adamsilverstein I have continued working on INP research in a colab nostly by querying httparchive data. Recently I added a few new queries that gather:
      • Plugins on WordPress sites with not good INP (based on Wapalyzer detection)
      • Long task scripts on WordPress sites with not good INP (using the long task audit)
      • Long task scripts on WordPress sites overall
    • I then focused in on scripts by path and ran some group queries that only look at the path. Removing the host part ensures we catch common scripts that run across many WordPress sites. Finally, I am grouping by host to see if any 3p stand out at a top level. I’m collecting all the resulting data in a sheet and will soon be ready to summarize the findings in a doc and share everything!

    Open Floor

    Our next chat will be held on Tuesday, March 26, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 12 March 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • Reminder on timezone difference for the next 3 weeks, this chat will remain at 16:00 UTC, then it will switch to 15:00 UTC from April 2

    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 discussion
    • 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) discussion
    • Active priority projects
      • Plugin checker
      • Improve template loading
      • INP opportunities research

    WordPress Performance Trac Tickets

    • For WordPress 6.5:
      • @joemcgill opened #60749
        • @flixos90 asked if this is mostly a memory win?
        • @joemcgill It does seem to be less of an impact on IWT than what I was measuring on Friday. Still not sure what the difference is there, or if there is some caching in play that I had disabled on Friday. Even so, it does make a positive impact and memory consumption can lead to slower IWT. The other place that could use more eyes is trying to identify opportunities to improve the performance of the Navigation 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., which went through a bigger refactor during this release, which is leading to longer rendering times. I don’t think we’ve identified any particular flaw thus far
      • @flixos90 working on the ongoing research on potential 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. that I think is still unresolved [link]
      • @joemcgill will plan on doing another set of benchmarks for RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 2 once it has been released, and can continue
    • For Future Releases:
      • We already have 16 items in the 6.6 milestone, but it’s a good time for folks to start thinking about what they are wanting to focus on for the next release.

    Performance Lab Plugin (and other Performance Plugins)

    Active Priority Projects

    Plugin Checker

    • Mostly quiet since the 1.0 release. There is the start of a 1.1 milestone, but I think the folks involved in next steps here have been mostly busy with WC Asia and 6.5 release work.

    Improve template loading

    INP research opportunities

    • @joemcgill Last item in our active priority projects list: INP opportunities research. I believe @adamsilverstein recently did some research on this, but am unsure if there is anything ready to be shared yet. We can pick this up in a future meeting. That is a good reminder to everyone that INP became a CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Web Vital starting today: https://web.dev/blog/inp-cwv-march-12
      • One of our team goals for this year is to find ways to improve WP this metric, so it’s good to keep in mind.

    Open Floor

    • @thelovekesh asked Currently when we do a plugin release it triggers two workflows:
      • PL plugin release
      • and Standalone plugin release.
      • Do we always need to trigger the workflow for standalone plugins?
    • @flixos90 By default, new versions of standalone plugins are triggered together with the PL plugin release. Other than that, it would need to be the manual workflow. That’s how it works now. There’s certainly things that can be improved. We need to rethink our release strategy, for instance also whether we want to have releases of the standalone plugins tagged on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ in addition, which right now is missing
    • @thelovekesh We might need to streamline release notes for PL and standalone plugins. Currently we are including them for PL plugin. With https://github.com/WordPress/performance/pull/1033, we are attaching all release assets on specific release.
    • @flixos90 Right, the changelog generator also only works for PL right now.
    • @pbearne is working down this list in age order to review/renew [link]
      • @flixos90 I gave your PR for limiting autoloaded options size another review last week, it looks really good, just a few minor things. Have you been able to take a look at that? I’d love to commit this early in the 6.6 cycle
      • @joemcgill Something else that would be helpful is that if you run across an issue that you think should be prioritized because it makes a big impact to improve overall performance for end users, please share it in the channel so we can get more eyes on it and get it into a milestone.
      • @pbearne will start with these tickets 18836 ORDER BY RAND() is slow
        If we can get some modified SQL that works
    • REMINDER: This meeting will continue at 16:00 UTC for the next 3 weeks, then it will switch to 15:00 UTC from April 2 onwards

    Our next chat will be held on Tuesday, March 19, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 5 March 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia is this week
    • Updated agenda format to match CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. dev chat as suggested in previous chats
    • Reminder on timezone difference for the next 3 weeks, this chat will remain at 16:00 UTC, then it will switch to 15:00 UTC from April 2

    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 discussion
    • 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) discussion
    • Active priority projects
      • Plugin checker
      • Improve template loading
      • INP opportunities research

    WordPress Performance Trac Tickets

    • For WordPress 6.5:
      • @joemcgill The only open ticketticket Created for both bug reports and feature development on the bug tracker. we still have in the milestone is #60127, which can happen at any time. @thelovekesh was planning on taking a pass at this soon.
        • The only other thing that I think we’ve been aware of is that this release is showing a slightly higher TTFB than 6.4, but we can discuss that in more detail later.
      • @thelovekesh tried to replicate the issue on 6.4 but facing some issues with local setup. Will try to set it up again.
    • For Future Releases:
      • We already have 15 items in the 6.6 milestone, but it’s a good time for folks to start thinking about what they are wanting to focus on for the next release.

    Performance Lab Plugin (and other Performance Plugins)

    • @flixos90 There has been a lot of progress on the unbundling of Performance Lab (see overview issue)
    • https://github.com/WordPress/performance/pull/1011 and https://github.com/WordPress/performance/pull/1019 are close to being merged into trunk
    • While that would in principle set us up to ship the 3.0 release, there have been a few conversations on the UXUX User experience of the new screen that deserve more attention. There is a lot to unpack, but it falls into 2 categories at a high level:
      • The migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. from modules to plugins is a confusing user experience.
      • The PL screen itself, with the plugins and modules to activate, is a confusing user experience.
    • The first point affects a one-time functionality, as it was recently decided that the concept of modules will be permanently removed. In other words, this migration will never need to happen again. As it’s already released and users are already migrating, it is not worth investing time to improve it
    • For the screen itself though, there is things we can do.
      • Most importantly, it would be more intuitive to make the experience about the features, rather than the plugins. As in, each card should describe a feature, instead of focusing on the technicality that it’s a plugin. We shouldn’t pull down .org information, but instead provide more solution driven feature descriptions. Things like the star ratings and other things related to the underlying plugin don’t need to be shown.
        • Under the hood, enabling a feature will still install and activate the corresponding plugin. But that shouldn’t matter for the user, their focus should be on the actual features.
      • We need to think about a better onboarding experience, e.g. a step which allows enabling all recommended features at once. There used to be modules which are activated by default, which is no longer possible now that the features are in the form of standalone plugins. So we need a solution to make that intuitive, which goes hand in hand with a better onboarding experience.
    • @thelovekesh suggested Maybe showing some on-boarding wizard? Where user can select what they want to improve in terms of performance on their site?
      • @flixos90 Potentially. I usually think of multiple steps when I think “onboarding wizard”, so not sure that’s needed here. But at least it would need to be a dedicated screen, or a customized version of the regular
    • @joemcgill I’m definitely in favor of the first point above, and see the second as a “nice to have”. Do we already have a GH issue to track this discussion?
    • The most immediate course of action because of those additional points regarding the Performance Lab plugin unbundling: Because of the additional discussion and engineering required, I think we should postpone the 3.0 release. Hopefully only to April. We need to make sure the UX is good enough before we ship it, but at the same time we want to minimize the time we remain in this limbo where the 2.x branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". and trunk are so diverged, as that complicates shipping potential fixes in the existing code.

    Active Priority Projects

    Plugin Checker

    • No updates this week

    Improve template loading

    INP research opportunities

    • No updates this week

    Open Floor

    Our next chat will be held on Tuesday, March 12, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 27 February 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • WordPress BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 3 is today
    • Discussion around any WordPress 6.5 tickets [link]
      • Dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for this release were discussed
      • Please check https://github.com/orgs/WordPress/projects/154?query=is%3Aopen+sort%3Aupdated-desc for progress on all dev notes

    Priority Projects

    Server Response Time

    Notes from today’s meeting:

    • @joemcgill #59532 was fixed last week and some unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. improvements were added thanks to @thekt12
    • @thekt12 Working on implementing caching using transient for non-persistant cache website #59719 I have drafted an initial PR for just 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. pattern  PR – https://github.com/WordPress/wordpress-develop/pull/6137
    • @joemcgill The past couple weeks, I’ve been mostly profiling the 6.5 betas against 6.4.3 to see why were are seeing a net server-timing 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 spite of the improvements we’ve made. So far, I haven’t found a clear cause or opportunity to avoid the regression but am continuing to look. More eyes would be helpful for sure.
    • @spacedmonkey There are 1020 matches for register_block_pattern in the 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 repo – https://wpdirectory.net/search/01HQNNQ2VPN4CKBQYKCQEC7Y87

    Database Optimization

    Notes from today’s meeting:

    • @flixos90 I’m planning to get back to looking at the PR for #42441 later this week

    JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

    • Link to the GitHub project board
    • Contributors: @mukesh27 @flixos90 @westonruter @thelovekesh
    • Projects from the 2024 roadmap:
      • INP opportunities research
      • Interactivity 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.
      • Speculative prerendering
      • Embed Optimizer

    Notes from today’s meeting:

    • @westonruter the Embed Optimizer is ready for initial submission to the directory
    • @thelovekesh Web Worker offloading aka Partytown module is ready for final review. Since INP date is coming soon and it provides a good opportunity to offload 3P scripts, I think we can move forward with it

    Images

    • Link to the GitHub project board
    • Contributors: @flixos90 @adamsilverstein @joemcgill @westonruter
    • Projects from the 2024 roadmap:
      • Optimization Detective (formerly Image loading optimization)
      • API to facilitate more accurate “sizes” attribute
      • Land AVIF support in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.
      • Client side image compression

    Notes from today’s meeting:

    • @westonruter For Optimization Detective (formerly Image Loading Optimization), this PR needs review: https://github.com/WordPress/performance/pull/988
    • @adamsilverstein AVIF support is landed a while back and the dev note published. also in 6.5 we’ll have progressive image support (which will be mentioned in the field guideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page.)

    Measurement

    Notes from today’s meeting:

    • @joemcgill The only thing currently in progress related to this is the fixes to the 6.4 performance tests, which @thelovekesh volunteered to work on recently.

    Ecosystem Tools

    Notes from today’s meeting:

    • @mukesh27 for Creating standalone plugins milestone 2b:
      • PRs that have been merged:
        • PR #999 – Move Auto Sizes plugin assets to plugins folder
        • PR #1014 – Fix unit test for Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site
      • PRs ready for Review:
        • PR #1000 – Implement publishing workflow for standalone plugins that aren’t modules
        • PR #1002 – Separate phpcs.xml.dist Files for Each Plugin to Isolate Text Domains
        • PR #1011 – Move published modules to standalone plugins (Another contributor @thelovekesh is working on this)
    • @thelovekesh Aside, I have started a discussion on improving the DX in new monorepo setup – https://github.com/WordPress/performance/issues/1012

    Open Floor

    • @pbearne I have been working on the old core performance tickets. Clearing out won’t fix and refreshing the code as needed. if anybody wants me to jump to a later ticketticket Created for both bug reports and feature development on the bug tracker., pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me
    • @johnbillion What’s the process for adding the [Focus] ... label to an issue? Is that for categorisation or only for issues that are an active focus for each team?
      • @flixos90 It’s categorization primarily. We have never had anything (at least as far as I remember) that didn’t fit in one of the existing focus groups
      • @joemcgill I believe that they used to align to the original project boards that were set up on the repo, which have evolved over the past few years, so they probably need a refresh at some point. Currently, I agree we’re not really using them for any reason

    Our next chat will be held on Tuesday, March 5, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 13 February 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • Release 2.9.0 of the 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 is scheduled for Monday February 19
    • Call for opinions on the naming of the ‘Image Loading Optimizations’ plugin [see here]

    Priority Projects

    Server Response Time

    Notes from today’s meeting:

    • @thekt12 This is something I was working on https://github.com/WordPress/wordpress-develop/pull/5941, new changes has caused some test to fail. The issue is with older test cases. I’ll give a final look tomorrow
    • @joemcgill I ran some profiling on the improvements we made to 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. varations (#59969) and am showing that this has made a noticeable reduction to server response times, e.g. ~5-7%
    • @joemcgill Yesterday, I also identified an issue with the new Plugin Dependencies feature that was negatively impacting server timing. #60518 is fixed for betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 and it looks like we’ve mostly recovered from the regressions that were previously discovered, but we’ll take new benchmarks after Beta 1 is released today

    Database Optimization

    Notes from today’s meeting:

    • No updates this week

    JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

    • Link to the GitHub project board
    • Contributors: @mukesh27 @flixos90 @westonruter @thelovekesh
    • Projects from the 2024 roadmap:
      • INP opportunities research
      • Interactivity 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.
      • Speculative prerendering
      • Embed Optimizer

    Notes from today’s meeting:

    Images

    Notes from today’s meeting:

    Measurement

    Notes from today’s meeting:

    • @joemcgill Nothing specific to report against those milestones. Now that we’re getting into the part of the release cycle where we’ll be doing lots of benchmarks, I suspect we’ll identify some opportunities to streamline things a bit. I also think that @oandregal was working on some improvements to the GB tests that would have caught some regressions that were not caught until after the sync. I’d be curious to know if there are ways we can support that work for the future?
    • @joemcgill Some initial performance benchmarks for 6.5-beta1 against 6.4.3, for anyone interested:

    Ecosystem Tools

    • Link to the GitHub repo for Plugin Checker
    • Contributors: @mukesh27 @swissspidy
    • Projects from the 2024 roadmap:
      • Creating standalone plugins milestone 2
      • Plugin checker
      • Reusable testing environment

    Notes from today’s meeting:

    Open Floor

    • Suggestion from @joemcgill and @swissspidy to rethink the structure of the chat to align with the Core Dev Chat
      • For the past couple of weeks, the Core Dev-chat has attempted to spend more time synchronously discussing a proposal or pending issue, and having most updates linked in the agenda with the expectation that folks are reading the information ahead of the meeting. So far, it’s led to more engaging chats. Perhaps there are ways to do something similar here?
    • @clarkeemily is away on holiday next week, so @joemcgill will run the chat

    Our next chat will be held on Tuesday, February 20, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 6 February 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • Reminder to visit our 2024 performance roadmap for an overview of all priority projects
    • Reminder that BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 for WordPress 6.5 is scheduled for Tuesday February 13

    Priority Projects

    Server Response Time

    Notes from today’s meeting:

    Database Optimization

    Notes from today’s meeting:

    JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

    • Link to the GitHub project board
    • Contributors: @mukesh27 @flixos90 @westonruter @thelovekesh
    • Projects from the 2024 roadmap:
      • INP opportunities research
      • Interactivity 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.
      • Speculative prerendering

    Notes from today’s meeting:

    • @westonruter For Interactivity API, I’ve continued providing feedback for the pull request that adds server-side processing of directives. It’s almost there! This will be great because it will mean that client-side JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. will have to do less, resulting in better metrics likely for LCP, CLS, and INP.
    • @adamsilverstein I have been working on researching INP opportunities using httparchive queries in a colab which I plan to summarize in a doc to share with the team. I have made good progress and hope to have a summary to share next week.
    • @westonruter Also I identified an issue where passive event listeners can’t currently be added via event directives
    • @thelovekesh https://github.com/WordPress/performance/pull/556 is ready for final review. Also as mentioned by @joemcgill to release this module as standalone 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, @westonruter has made some changes to PR base.

    Images

    Notes from today’s meeting:

    Measurement

    Notes from today’s meeting:

    • No updates this week

    Ecosystem Tools

    • Link to the GitHub repo for Plugin Checker
    • Contributors: @mukesh27 @swissspidy
    • Projects from the 2024 roadmap:
      • Creating standalone plugins milestone 2
      • Plugin checker
      • Reusable testing environment

    Notes from today’s meeting:

    Open Floor

    • No updates today

    Our next chat will be held on Tuesday, February 13, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 30 January 2024

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

    Announcements

    Priority Projects

    Server Response Time

    Notes from today’s meeting:

    Database Optimization

    Notes from today’s meeting:

    • @pbearne started the dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. to try and focus the changes for optimized autoloaded PR https://github.com/WordPress/wordpress-develop/pull/5671
    • @thekt12 I’ll be picking up – https://github.com/WordPress/wordpress-develop/pull/5295/files early next week, need to address some review changes

    JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

    Notes from today’s meeting:

    • @thelovekesh I have continue the work on https://github.com/WordPress/performance/pull/556 and addressed most of the feedback
    • @westonruter Regarding Interactivity API, I shared this a few days in brief, but excited to share a preemptive INP win for WordPress 6.5: I found an issue where there was a long task occurring during page load (or whenever interactive blocks are hydrated), especially when there is not a trivial number of interactive blocks on the page (e.g. 20). (Recall that any image 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. with lightbox behavior is an interactive block now.) When profiling with 6x CPU throttling the hydration was causing a 300+ ms long task. I opened a pull request to fix this by yielding to the main thread between hydration of each interactive block. It should be included in WP 6.5 with the initial public availability of the Interactivity API.
      • I have another pull request open which will defer hydration of interactive blocks until the node nears the viewport. This will require more iteration with the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ team and won’t be part of WP 6.5, but it’s another promising performance improvement.
      • This one still needs another review: https://github.com/WordPress/performance/pull/952

    Images

    Notes from today’s meeting:

    • @westonruter For Image Loading Optimization, @thelovekesh has been working on getting a Webpack build process in place to ensure there is a local copy of web-vitals.js. It is now merged. This is related to his work on Partytown
    • @westonruter Regarding sizes, I was doing some research yesterday on how well (or not) the sizes attribute is used in WordPress… The Web Almanac has a section on sizes from 2022 that shows it is a problem, but doesn’t single out WordPress specifically. I re-ran the query for determining problematic usage with sizes limited to WordPress, and compared December 2022 with December 2023, and the problem is getting worse. I’m hoping to share more specific numbers this week.
    • @adamsilverstein AVIF ticketticket Created for both bug reports and feature development on the bug tracker. if anyone wants to test or review the PR – https://core.trac.wordpress.org/ticket/51228 with AVIF support now in Edge stable, I marked this for commit

    Measurement

    Notes from today’s meeting:

    • @swissspidy Regarding stabilization it’s good to see that the screenshot above relating to Performant Translations merge proves that our current setup is stable enough to see these drops

    Ecosystem Tools

    • Link to roadmap projects and link to the GitHub repo for 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 Checker
    • Contributors: @mukesh27 @swissspidy
    • Projects from the 2024 roadmap:
      • Creating standalone plugins milestone 2
      • Plugin checker
      • Reusable testing environment

    Notes from today’s meeting:

    Open Floor

    • @pbearne would like to invite you all to WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Canada July 11-13, 2024 https://canada.wordcamp.org/2024

    Our next chat will be held on Tuesday, February 6, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

    Performance Chat Summary: 23 January 2024

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

    Announcements

    Priority Projects

    Server Response Time

    Notes from today’s call:

    Database Optimization

    Notes from today’s call:

    JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

    • Link to roadmap project and link to the GitHub project board
    • Contributors: @mukesh27 @flixos90 @westonruter
    • Projects from the 2024 roadmap:
      • INP opportunities research
      • Interactivity 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.
      • Speculative prerendering

    Notes from today’s call:

    • No updates this week

    Images

    Notes from today’s call:

    • @westonruter For Image Loading Optimization, the PR to preload the background-image for the LCP element just needs one more review to merge. Again, I found this change to reduce LCP-TTFB by ~9% when, for example, the LCP elemment is a Group 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. with a background image or a Cover block with parallax. Otherwise, I’ve been working with @thelovekesh on eliminating loading the web-vitals library from unpkg.
    • @adamsilverstein The PR to land AVIF is ready for testing; at this point I am waiting for support to land in Edge stable before committing, not sure that will in time for betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. cutoff though
    • @swissspidy For client side image compression I’m currently working on ways to make the performance impact more measurable and documenting that. In the meantime, my Media Experiments 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 can now be tested on WordPress Playground to familiarize oneself with how seamless it all is.
    • @joemcgill As mentioned earlier, the experimental plugin for supporting auto-sizes is now available. I’m tracking an issue that is effecting WP galleries when this is in use. Additional testing and feedback of this feature (requires Chrome 121+) would be appreciated.

    Measurement

    Notes from today’s call:

    • @joemcgill Still need to look into the failures on the 6.4 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". #60127

    Ecosystem Tools

    Notes from today’s call:

    Open Floor

    • No updates today

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

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

    Performance Chat Summary: 16 January 2024

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

    Announcements

    • Welcome to our new members of #core-performance
    • 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 release today for version 2.8.0

    Priority Projects

    Server Response Time

    Notes from today’s call:

    • @thekt12 I was exploring use of transient for sites that don’t have persistent cache.
      https://core.trac.wordpress.org/ticket/60120#comment:8
      However I have paused the above for a while and started with #59532 as this is a bit similar to https://github.com/WordPress/wordpress-develop/pull/5718.
      Also, https://github.com/WordPress/wordpress-develop/pull/5718 is ready for mostly final review
    • @joemcgill #59969 seems to be very close on the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. side, just needing a couple of changes to the PR. Can we get that sorted soon @thekt12 or are you waiting on some additional feedback?
      • I think that blocks the supporting work you’ve started in the GB repo at present
      • @flixos90 Yeah it’s tricky and somewhat clunky to figure out the sequencing there
      • @flixos90 If the core change needs to come first, let’s commit that very soon and then update  and merge the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ change and aim for a back port not too far away
      • I reviewed @swissspidy‘s performant translations PR yesterday, and it looks great to me. It would be great if a few more folks here could take a look too since it’s a big change
    • @swissspidy The performant translations PR is close to be mergeable, it‘s in very good shape already
    • @joemcgill Also, for #60120, @spacedmonkey are you planning on continuing the PR you started, or is your intent for someone else to pick up that work? Either is fine, just wasn’t sure
      • Almost ready for commit

    Database Optimization

    Notes from today’s call:

    JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. & CSSCSS Cascading Style Sheets.

    • Link to roadmap project and link to the GitHub project board
    • Contributors: @mukesh27 @flixos90 @westonruter
    • Projects from the 2024 roadmap:
      • INP opportunities research
      • Interactivity 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.
      • Speculative prerendering

    Notes from today’s call:

    • @flixos90 I opened pull requests for most of the remaining work for the first Speculation Rules plugin MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia yesterday, see https://github.com/WordPress/performance/issues/908 (everything linked from there)

    Images

    Notes from today’s call:

    • @joemcgill I submitted the plugin for auto-sizes last week and already heard back on some feedback to address. I’ll get that sorted and hopefully will be available soon. In the mean time, it’s ready to be merged to the Performance Lab after 2.8.0 is released later today.
    • @flixos90 I plan to commit the PR for https://core.trac.wordpress.org/ticket/59352 shortly
    • @westonruter For Image Loading Optimization, the tests PR has been merged. I have the pull request for optimizing the loading of background images ready for review. In some quick testing I found this to reduce LCP-TTFB by ~9% when a Cover 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. has parallax and is the LCP element: https://github.com/WordPress/performance/pull/914
    • @swissspidy Regarding client-side image compression a new blogblog (versus network, site) post just got published about it: https://www.codeinwp.com/blog/pascal-birchler-interview-wordpress-media-experiements/

    Measurement

    Notes from today’s call:

    • @joemcgill The main thing that is on my mind is that we need to fix the performance tests that are failing in the 6.4 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". #60127. This would be good to get fixed before the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., which is being organized for the next few weeks

    Ecosystem Tools

    Notes from today’s call:

    Open Floor

    • @pbearne I am thinking of tackling Improving the calculation of image sizes attributes#760 but would like a quick chat/call to agree on the approach before I start. Could we plan that?
      • @joemcgill I’ve got an ongoing project internally where I’ve been working on that, @pbearne. Probably best to wait on more definition before diving into anything.
      • @joemcgill Would be happy to have you collaborate though. I most likely won’t have anything ready to share this week though
    • @flixos90 Just a reminder that the Performance Lab 2.8.0 release party will be in a good 1 hour from now, at 18:00 UTC. Please stop by and help out if you’re available!

    Our next chat will be held on Tuesday, January 23, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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