Core Performance Team Update: April 27, 2023

Performance Lab

Performance Lab plugin updates are released monthly on the third Monday of the month.

April’s release 2.2.0 includes a few enhancements relating to the creation of standalone plugins. The Fetchpriority module furthermore had its “experimental” flag removed, now that the underlying HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. attribute is standardized.

Engineering continues to progress on creating standalone plugins and unbundling 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 (see overview issue). The first step in publishing modules as standalone plugins saw the WebP Uploads plugin published in April. The Fetchpriority plugin is currently awaiting approval from the WordPress plugin team, and Dominant Color Images will follow. An engineering approach to removing these modules from the PL plugin is being discussed. 

Proposals and Discussion

Performance Team chats are held weekly on Tuesdays; check https://make.wordpress.org/meetings/ for current time.

Engineering has continued for enhancing the Scripts API with a loading strategy (work can be seen here), the focus in April has been on testing and iteration. A pull request against WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. will be opened soon.

The Plugin Checker engineering of the infrastructure, admin screens and 2 initial checks has been completed. April’s focus has been around architectural code review, QA testing and iteration. Progress can be seen in this GitHub repo, which eventually should be transferred to the WordPress organization. 

The team continues researching remaining problems with lazy-loading. They have also been finalizing an initial performance profiling analysis of WordPress, which they plan to share with the community, and from which they are planning to identify future actionable items. Other exploration has been taking place on improving option autoloading and also on enhancing the initial automated performance workflow.

Tickets

In addition to Performance Lab, the Performance Team also works on performance-related tickets in core and holds a fortnightly Bug Bash on Wednesdays; check https://make.wordpress.org/meetings/ for current time.

The cadence of the performance bug scrubs has been changed to every 2 weeks, from Wednesday April 26 onwards to ensure issues targeting the next WordPress release are reviewed more frequently.

A blog post for the benefits of prioritizing and measuring performance in 6.2 was released this week as a performance retrospective on the 6.2 release cycle, outlining WordPress 6.2 loads 14-18% faster overall for 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. themes and 2-5% faster overall for classic themes based on lab benchmarks. Work continues on various TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets to further enhance performance for the upcoming 6.3 release.

The WordPress core pull request to enhance get_block_templates() performance is close to being committed, and is expected to improve overall server response time for sites using a block theme by a significant ~15%.

Implementing lazy loading term metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. in WP_Term_Query has been merged for 6.3 (#57645). Other issues that have been completed for 6.3 include Using `wp_theme_has_theme_json` in `_wp_theme_json_webfonts_handler` (#57814) and Remove `wp-nux` CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. as dependency from `wp-edit-post` and `wp-editor` (#57827). The team have also worked on performance of _wp_normalize_relative_css_links() can be increased >2x (#58069). Most recently, a notable performance improvement to the `get_block_templates()` function was committed, which improves server response time for sites using block templates by ~15% (#57756).

The team is heavily working on further performance tickets prioritized for the upcoming 6.3 release.

#core-performance, #performance

Core Performance Team Update: March 27, 2023

Performance Lab

Performance Lab plugin updates are released monthly on the third Monday of the month.

March’s release 2.1.0 includes a few enhancements and interoperability fixes for the Server-Timing 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. and general module loading.

Engineering is in progress for creating standalone plugins and unbundling 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 (see overview issue), the team are aiming to publish the initial set of standalone plugins mid-April.

Proposals and Discussion

Performance Team chats are held weekly on Tuesdays; check https://make.wordpress.org/meetings/ for current time.

In late February, @mxbclang resigned from the Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. position. @clarkeemily was voted as the second Team Rep, alongside @flixos90

Following the 2023 performance roadmap being published, the performance team SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. chats have focused discussions around the priorities agreed. To note, this is a living document and new projects are welcomed. 

Work is almost complete for Enhancing the Scripts API with a loading strategy (work can be seen here), and a pull request against WP CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. will be opened soon. 

The Plugin Checker engineering is progressing very well, with the infrastructure, admin screens and 2 initial checks targeted to be complete by mid-April. Progress can be seen in this GitHub repo

Other areas of focus continue to be on gathering some profiling data on the most recent release candidateRelease Candidate A beta version of software with the potential to be a final product, which is ready to release unless significant bugs emerge. to support the server response time analysis. The team is also working on a high-level review of our approach to calculating sizes attribute for images and also researching remaining problems with lazy-loading. 

Tickets

In addition to Performance Lab, the Performance Team also works on performance-related tickets in core and holds a monthly Bug Bash on the first Wednesday of every month; check https://make.wordpress.org/meetings/ for current time.

WordPress 6.2 contains many performance improvements and analysis demonstrates it is notably faster than 6.1, both on the server-side and the client-side, as seen in early Web Vitals metrics from the lab. After several weeks of different testing methodologies being trialed, we now have an approach that works well for this type of benchmarking (expect a blog post sharing this soon!). 

The automated performance testing CI workflow has been committed to core [55459]. We’re successfully getting automated performance data on every commit to core now available in the dashboard here https://www.codevitals.run/project/wordpress.

The team are now conducting discovery around lazy loading all metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data in WordPress (#57645, #57801 and #57496).

#core-performance, #performance

Core Performance Team Update – September 30, 2022

Performance Lab

Performance Lab plugin updates are released monthly on the third Monday of the month.

September’s release, v.1.5.0, was a small one as the team was focused on WebP work (see below). The only addition was an improvement to the autoloaded options Site Health check.

Proposals and Discussion

Performance Team chats are held weekly on Tuesdays; check https://make.wordpress.org/meetings/ for current time.

Tickets

In addition to Performance Lab, the Performance Team also works on performance-related tickets in core and holds a monthly Bug Bash on the first Wednesday of every month; check https://make.wordpress.org/meetings/ for current time.

The Team merged several performance-related improvements for 6.1, including adding two new Site Health checks for Persistent Object Caching (#56040) and Audit Full Page Cache (#56041) from 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 as well as #37114, #54541, #54677, #55005, #55227, #55392, #54106, #49532, and several improvements to `WP_Query`, multisiteMultisite Multisite is a WordPress feature which allows users to create a network of sites on a single WordPress installation. Available since WordPress version 3.0, Multisite is a continuation of WPMU or WordPress Multiuser project. WordPress MultiUser project was discontinued and its features were included into WordPress core.https://codex.wordpress.org/Create_A_Network., REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/., caching 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., scripts and images – see our recent meeting notes for a full list.

Props to @mukesh27 and @spacedmonkey for doing the bulk of this work!

#performance