Here is the agenda for this week’s performance team meeting scheduled for October 18, 2022, at 15:00 UTC. Announcements Reminder: Focus area updates vote and call for leads Upcoming time change Europe changes w/c 30 October before US does – Nov 1 meeting will be one hour later at November 1, 2022 at 16:00 UTC US changes w/c […]
Performance team meeting summary 11 October 2022
Meeting agenda here and the full chat log is available beginning here on Slack. Focus area updates Images @adamsilverstein @mikeschroder GitHub project @adamsilverstein: Committed two small fixes related to the existing `image_editor_output_format` filter – #54476 and #56442 @mukesh27: Added checkbox to Settings > Media to control whether to generate JPEG in addition to WebP in #537 @flixos90: This […]
Performance Field Guide for WordPress 6.1
WordPress 6.1 introduces a number of important performance improvements which will have impact in all aspects. The most significant improvements are done in caching WP_Query as well as REST API. Improvements to WP_Query Database queries in WP_Query being cached is a long wanted feature for many developers and finally a dream come true in WordPress 6.1. A couple […]
Moving the send_headers action to later in the load
As of WordPress 6.1, the send_headers hook has been moved to slightly later in the WordPress loading routine (ticket). Historically, all the is_ functions (like is_singular) wouldn’t work when you were determining which headers to send. With this change, moving `send_headers` to after WordPress parses the query, those functions now work properly. People can now have more control […]
Performance improvements to the REST API
WordPress 6.1 brings a number of key improvements to the REST API to increase performance. These improvements decrease the number of database queries that are run on each REST API request. Avoid unnecessarily preparing item links Prior to WordPress 6.1, the prepare_links method in the REST API was called in all controllers. If the _fields parameter is passed […]
Multisite improvements in WordPress 6.1
Using the metadata API for network options The way that network options are accessed is changing in WordPress 6.1. Network options have always been stored in a meta table called sitemeta. This name is confusing, as “site” in this context means “network,” not to be confused with blog meta, used to store site metadata. Prior to WordPress 6.1, […]
Escaping Table and Field names with wpdb::prepare() in WordPress 6.1
As part of the WordPress 6.1 release, wpdb::prepare() has been updated so it can escape Identifiers (such as Table and Field names) with the %i placeholder (#52506). This ensures these values are escaped correctly and don’t lead to SQL Injection Vulnerabilities. Example $table = ‘my_table’; $field = ‘my_field’; $value = ‘my_value’; $wpdb->prepare(‘SELECT * FROM %i WHERE %i = %s’, […]
Improved PHP performance for core blocks registration
Early block.json Registration Method Starting with WordPress 5.8, extenders were encouraged to begin to utilize block.json to register blocks through a unified registration process. The benefits offered by this update provide consistency and convenience when registering blocks through PHP or JavaScript. However, while this block.json scanning convention is extremely convenient, it does add additional processing when core blocks are instantiated. […]
Performance Chat Agenda: 11 October 2022
Here is the agenda for this week’s performance team meeting scheduled for October 11, 2022, at 15:00 UTC. Announcements Focus area updates Images Object Cache Site Health Measurement JavaScript Infrastructure Focus area updates – @flixos90 Module proposal: SQLite – @aristath Open floor This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the […]
Improvements to WP_Query performance in 6.1
Adding caching to database queries in WP_Query WordPress 6.1 includes an improvement to how database queries are performed in the WP_Query class, resulting in database queries will be cached. This means that if the same database query is run more than once, the result will be loaded from cache. For those using persistent object caching, this will mean […]
Recent Comments