Performance Chat Summary: 1 November 2022
Meeting agenda here and the full chat log is available beginning here on Slack.
Announcements
- @mxbclang: Upcoming time change
- US changes next week (w/c 6 November) – meeting will shift ahead by one hour to stay at our regular time, so Nov 8 meeting will be at Tuesday, November 8, 2022 at 10:00 AM EST
Focus area updates
Images
@adamsilverstein @mikeschroder
- @adamsilverstein: On the AVIF front, it looks like Apple is building support right into WebKit, which means AVIFs will work on older iOS/MacOS as long as users upgrade Safari (currently support depends on the underlying OS). See https://github.com/WebKit/WebKit/pull/5669.
- @adamsilverstein: When working on the PR for setting
fetchpriority=high
on the non-lazy-loaded LCP image, noticed the first image on block themes isn’t having the lazy-loading attribute omitted as expected. Opened #56930 and PR #3538 to resolve; reviews appreciated. Also related: #56927, #55996.- @spacedmonkey: Also flagging https://github.com/WordPress/gutenberg/issues/45224 as related; @adamsilverstein will add link to the Trac ticket
- @mehulkaklotar: Working on some improvements to Performance Lab:
- @masteradhoc: Any updates on WebP?
- @adamsilverstein: There has been some communication with Matt, repeating what he said on his post about concerns about WebP not being ready to be default mostly because it is hard to use outside of the web context. Hopefully in the future we’ll be able to get this kind of feedback earlier in a feature’s lifecycle. To move WebP further, we would need to address the underlying issue, either by improving ecosystem compatibility (which is happening naturally over time) or by improving browser capabilities (e.g. save as JPEG).
- @spacedmonkey: In multisite, we used to proxy all attachments through PHP. Could we do that here? Proxy to see if there is WebP support, and if not, return JPEG. Has its downsides but thinking out loud.
- @adamsilverstein: Didn’t know about that; could potentially only handle “missing” images that way using
htaccess
- @spacedmonkey: It’s still part of core: https://github.com/WordPress/wordpress-develop/blob/trunk/src/wp-includes/ms-files.php
- @adamsilverstein: Didn’t know about that; could potentially only handle “missing” images that way using
- @masteradhoc: Could we open a ticket in the Chromium GH for save as JPEG to see if they could add? Would help the biggest part of the web.
- @adamsilverstein: Yes, think it’s worth asking them to consider.
- @flixos90: We can’t really solve the problem in a clean way in WP though, since the right-click Save As behavior can’t be modified via PHP or JS. Wish browsers supported some way of achieving a JPEG download of a WebP image on the web, e.g. if you use a
element it could be default download as JPEG even when WebP is served in the browser. Or there could be some kind of
download-src
attribute.
Feedback requested
- See above
- Needs Discussion (10 issues)
- Needs Review (1 issue)
Object Cache
- @spacedmonkey: Tickets:
- https://core.trac.wordpress.org/ticket/56923
- https://github.com/WordPress/gutenberg/issues/45309
- https://github.com/WordPress/wordpress-develop/pull/3528
- https://github.com/WordPress/wordpress-develop/pull/3544
- https://github.com/WordPress/wordpress-develop/pull/3534
- @spacedmonkey: Reviewed performance in 6.1-RC3 and updated results here; looking good. FSE themes are still slower than classic themes. Created some tickets related to issues found; have been working on https://github.com/WordPress/wordpress-develop/pull/3540.
- @flixos90: Also did an analysis on RC3 last week; major improvement over RC1 and RC2. Still a few areas that were slightly worse than 6.0, but some of that is due to added functionality. Still a few quirks where regression is noticeably worse, namely in the
wp_head
action. Have tracked down the particular change that makeswp_head
slower even in classic themes; PR with a potential fix here: https://github.com/WordPress/wordpress-develop/pull/3536. - @spacedmonkey: Biggest issue is that class is static methods and variables, which makes it hard to review and test.
Feedback requested
- See above
- Needs Discussion (4 issues)
- Needs Review (1 issue)
Measurement
N/A
- @adamsilverstein: Digging back into the testing environment work that started awhile ago to see what we can pick up and use and what an MVP could look like. Still researching/documenting, but more to come.
Feedback requested
- Needs Discussion (5 issues)
- Needs Review (1 issue)
JS & CSS
- No updates
Feedback requested
- Tree-shaking block styles on the frontend #41020
- Needs Discussion (4 issues)
- Needs Review (2 issues)
Database
- @mxbclang: @aristath is continuing to work on the SQLite integration module in https://github.com/WordPress/performance/pull/547; feedback welcome
- @spacedmonkey: Thoughts on running core unit tests against SQLite, similar to how tests are run against memcache? Could allow the tests to fail for now, but would highlight where we need to fix issues.
- @adamsilverstein: Great idea, curious about performance as well
- @spacedmonkey: Is this Trac or Meta?
- @adamsilverstein: Neither, Performance Lab only right now; proposal here
- @spacedmonkey: Yes, but add official support for testing against SQLite, so in the test run, install the drop-in for SQLite and run tests
- @adamsilverstein: I see, I think that is still core since it’s all in the main
develop
repo - @spacedmonkey: Will create a ticket for this
Feedback requested
- Needs Discussion (2 issues)
- Needs Review (3 issues)
Infrastructure
- @flixos90: Planning to review https://github.com/WordPress/performance/pull/566 today, which brings the focus areas up-to-date.
- @mehulkaklotar: I have worked on issue #561 – PR #570 – Investigate unexpected input
Warning
message during release build process -> Needs review and testing both
Feedback requested
- See above
- Needs Discussion (5 issues)
- Needs Review (3 issues)
Our next chat will be held on Tuesday, November 8, 2022 at 10am EST in the #core-performance channel in Slack.
#core-js, #core-media, #performance, #performance-chat, #summary, #hosting-community