Performance team meeting summary 4 October 2022

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

Announcements

Focus group updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Not much to update, worked on a bug fix for #56442
  • @eugenemanuilov: #524 to disable JPEG subsizes generation for WebP images has been updated based on feedback from @flixos90
  • @mukesh27: Working on #525 to add a checkbox to the Media screen to enable multi-MIME type output, to match with the core WebP implementation
  • @ankitgade: Working on background processing infrastructure related to image regeneration
    • Background job class PR #507 is merged
    • Background process runner PR is in progress and will be ready to review tonight
    • Admin queue screen PR is work in progress
  • @khoipro: Any updates on SVG uploads?
    • @shetheliving: No one is actively working on this at the moment, so anyone can pick it up if they have time https://github.com/WordPress/performance/issues/427
    • @spacedmonkey: Not working on this right now, but may in the future. Biggest blocker is that the library that everyone uses for cleaning SVGs requires PHP 7+, so it would need to be forked/rewritten if we wanted backwards compatibility. If we wanted to make it a PHP 7+-only feature, it would make things a lot easier.
    • @flixos90: WP hasn’t really done that before, but don’t think it’s a no-go as long as it’s a non-critical feature
    • @spacedmonkey: PHP 5.6 is only 4% of WP installs, per https://wordpress.org/about/stats/
    • @adamsilverstein: We already do something like this with server support for images where you can’t use a format unless your server supports it
    • @flixos90: As long it gracefully falls back if unsupported and doesn’t break anything on older versions, would be totally onboard
    • @khoipro: What about sanitize and escape file uploading, and styling SVG in media preview?
    • @flixos90: Matt also mentioned a few years back that he would be open to WP offering certain features only to sites with HTTPS, kind of similar
    • @spacedmonkey: The creator of the library was open to support, not sure how much work we would need to do to port back to 5.6
    • @flixos90: Unless backporting would be super straightforward, I would say it’s not worth our effort and we make it 7+ only
    • @ankitgade: We can analyze what issues we see on 5.6 to evaluate how difficult this would be

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: Committed https://core.trac.wordpress.org/ticket/56721 and need review and commit on https://github.com/WordPress/wordpress-develop/pull/3403
  • @spacedmonkey: Also been profiling and testing WP 6.1 beta 2 – profiling data
    • @spacedmonkey: WP6.1 beta 2 has a slower page generation time than 6.0, in some cases by a lot (0.6325 vs. 0.2929 seconds), even with fewer DB calls in a lot of cases
    • @flixos90: Did you test 1 for each scenario, or multiple and then use average/median results?
    • @spacedmonkey: Ran at least three times and did median
    • @flixos90: If we could automate, maybe do something like 5-10 runs to make it more accurate
  • Also working on dev notes (1, 2, 3) – @shetheliving has reviewed and @flixos90 will take a look today or tomorrow
  • @khoipro: Will assign someone from their back-end team to take a look at profiling and testing, as well

Feedback requested

Site Health

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
  • @furi3r: Draft Make post is in progress for the new SH checks in 6.1, waiting for a final review before publishing

Feedback requested

Measurement

N/A

GitHub project

  • We’re seeking 1-2 POCs for this group; if you’re interested, please comment here or ping in Slack
  • @shetheliving: Getting closer to starting engineering on the plugin performance checker thanks to @mehulkaklotar and @jjgrainger‘s work on a design doc

Feedback requested

JavaScript

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Module proposal: Server-Timing API

@flixos90

  • @rickjames: For server-side performance measurement, MySQL’s “slowlog” can be useful
  • @flixos90: Not familiar with that tool, but worth exploring another time and feel free to draft a proposal. The current proposal leaves the actual measurement agnostic so it would leave room to introduce a more flexible and opinionated system later.
  • @adamsilverstein: Overall love the proposal, are you proposing that this would be included in the response by default once this is added?
    • @flixos90: Yes, envision that it would be added by default
  • @johnbillion: Added a comment on the issue about headers: headers need to be sent before any output, and a lot of processing that happens in WordPress that would ideally be measured occurs after the output begins
    • @flixos90: Definitely a fair point. Even with that limitation, still a lot of benefit to having the header to measure everything until WP begins to render the output. This will be a known limitation eventually, but also think this will become a smaller issue with FSE sites because they typically generate all content and then it is just “printed” out, so less “work” happening after headers are sent.
    • @johnbillion: Maybe, but still gets filled up by plugins and core doing processing. Would be good to think of what metrics would be useful to see and whether exposing those metrics via this API makes sense.
    • @flixos90: One example would be the autoloaded options query given the recent module proposal to improve that
    • @johnbillion: Does FSE actually construct its output before it’s all sent?
      • @aristath: Yes, the whole content/template gets rendered internally prior to sending any headers
    • @johnbillion: Like the idea of using the Server-Timing API header, but not sure if it necessarily works for WP
    • @flixos90: Isn’t it worth pursuing to be able to cover anything that happens prior to page output, which is a lot?
    • @johnbillion: It could well be, but would be good to see real world examples of what would be good to measure. Output buffering may not be the worst idea if the API is restricted to the plugin; definitely worth investigating.
    • @flixos90 will think about examples

Open floor

  • @aristath: Started porting SQLite as a module: https://github.com/WordPress/performance/pull/547; will discuss further next week
  • @josklever: https://core.trac.wordpress.org/ticket/55344 is related to the performance of the WP dashboard. Resources are loaded for dashboard widgets that are disabled via Screen Options, which can cause unwanted delays or issues for other widgets if there are conflicts.

Our next chat will be held on Tuesday, October 11, 2022 at 11am EDT in the #core-performance channel in Slack.

#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community

#meta

A WordPress Commenter

Recent Posts

Celebrating Community at WordCamp Asia 2026

WordCamp Asia 2026 brought the global WordPress community to Mumbai, India, from April 9–11, gathering…

4 days ago

How to Watch WordCamp Asia 2026 Live

WordCamp Asia 2026 will be available to watch live across three days of streaming, making…

1 week ago

From AI to Open Source at WordCamp Asia 2026

April 9-11, 2026 | Jio World Convention Centre, Mumbai, India WordCamp Asia 2026 brings the…

2 weeks ago

WordPress 7.0 Release Candidate 2

The second Release Candidate (“RC2”) for WordPress 7.0 is ready for download and testing! This…

3 weeks ago

WP Packages is Working the Way Open Source Should

When WP Engine acquired WPackagist on March 12, the WordPress developer community faced a familiar…

3 weeks ago

WordPress 7.0 Release Candidate 1

The first Release Candidate (“RC1”) for WordPress 7.0 is ready for download and testing! This…

3 weeks ago