Performance Chat Summary: 6 December 2022

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

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: New ticketticket Created for both bug reports and feature development on the bug tracker. to ensure coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. support for WebP is complete: #57328
    • When WebP was introduced to core, the implementation focused primarily on the most common use – lossy images. Part of the reason is that although WebP supports lossless compression, alpha transparency and animation as a format, actual support in WordPress depends on the underlying graphics engine (GD/Imagick) where support for these is more varied (for example GD only supports lossless WebP since version 2.3.3 and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher vs 8.1). Furthermore, detecting support for these features of the format is difficult or maybe not possible.
    • If anyone has the bandwidth to dig into this issue, guessing we can improve the current implementation to better match the expectations outlined in the ticket.
  • @spacedmonkey: Any updates on SVG?

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @mxbclang: SQLite module has been approved though we would welcome additional review: https://github.com/WordPress/performance/pull/547
    • Planning to merge by end of week, so if you want to review, please do so by end of day Wednesday
    • @mxbclang will drop a message in #core-performance to let the team now when it is merged and ready for testing
    • Welcome as many testers as possible in advance of release of 1.8.0 on December 19

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @mxbclang via @flixos90: Aiming to complete Server-Timing PR including testing this week, so pending that will request reviews by end of week. Reviews already welcome and much appreciated, particularly around how the 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. looks and behaves.

Feedback requested

Open floor

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

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

#meta

Performance Chat Agenda: 6 December 2022

Here is the agenda for this week’s performance team meeting scheduled for December 6, 2022, at 16:00 UTC.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 29 November 2022

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

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @mxbclang: What are the next steps on Revisit indexes for DB performance #132?
    • @olliejones: Current voting winner points to doing something dbms-version-specific to the schema, eventually in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., think we can do this 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 if we’re willing to accept a mu-plugin drop-in module. Disadvantage here is complexity.
    • @flixos90: This is tricky – we have a voting winner, but also some strong opinions from different sides including a WP lead developer.
    • @mxbclang: Seems like the best next step here would be to close out the vote as planned but hold on next steps pending further discussion in the issue, then regroup on this in a future chat
    • All agreed; vote will close and @mxbclang will add a comment about next steps
  • @olliejones: SQLite Object Cache is coming along nicely; will create a new module proposal issue once it’s closer to complete
  • @olliejones: For future discussion: Do we need some sort of formal set of filters, etc. to support the big competent hosting providers in this back-end area?

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Been working on iterating on the Server-Timing API PR. Still in draft because unit tests need to be added, but ready for review. Would love feedback and opinions on the 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. implementation. The most important recent change is that it is now initialized early through a drop-in, so it can capture measurements that happen before WP plugins are loaded.

Feedback requested

Open floor

  • @olliejones: There’s a sustainability team forming – see #sustainability Slack channel
  • @nickchomey: Been working on implementing a real PWA for a site under development. Plugin options are limited right now but @westonruter‘s plugin is the right approach. Is this something that the performance team can move forward?
    • @flixos90: Not sure what the current state of the plugin is; original idea was for it to be a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.
    • @nickchomey: Proposing a real coordinated effort be made to improve it to the point that it could be merged into core
    • @flixos90: It could definitely be feature plugin material, but as always it requires resources. If a small group is up for tackling, we would be supportive and help here possible.
    • @westonruter: The plugin is stable and essentially in maintenance mode. Not clear if there is the 80% user benefit to justify core merge just yet. See discussion between @nickchomey and @westonruter in GH issue: https://github.com/GoogleChromeLabs/pwa-wp/issues/884.
    • @flixos90: Key aspect of proposing this for core would be to come with an actual usage of PWA capabilities that immediately benefits core users
    • @westonruter: Benefit that all users could get now is offline browsing on the front-end, but there’s a separate concern of what happens when a large portion of the web is registering service workers
    • @pbearne: Aren’t we going to need something like this for real-time multi-editing in 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/?
    • @olliejones: Maybe the Twenty Twenty Four theme could be made PWA-friendly?

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

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

#meta

Performance Chat Agenda: 29 November 2022

Here is the agenda for this week’s performance team meeting scheduled for November 29, 2022, at 16:00 UTC.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 22 November 2022

The full chat log is available beginning here on Slack.

Announcements

  • @clarkeemily thanked the team for the 1.7.0 release yesterday

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • No updates

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @aristath continues to refine the SQLite module, and it’s pending a review so we can merge it
  • @aristath started working on a draft post to publish on make when the SQLite module gets merged, to invite testers.
  • @aristath having difficulty running performance A/B tests for the WP-CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. classes autoloader POC. This one is going to take some more time.
  • @OllieJones has been working on an sqlite-object-cache 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 repo). He mentioned it in last week’s meeting, but the question is whether we want to include this as a module in the performance-lab plugin. Right now it’s standalone and works perfectly fine. My personal opinion is it should be considered as a module… SQLite is universal and can therefore be used in Core to improve performance as a caching mechanism.

Feedback requested

Infrastructure

@flixos90

GitHub project

  • No updates

Feedback requested

Open floor

  • @oandregal asked: for folks working around wp_get_theme etc. Wanted to share a cross-PRs comment. I’m having troubles following direction regarding whether or not to use wp_get_themeThis PR proposes removing it from some places (backports changes from core), while these other two proposes to add it to a few hotpaths. Would you mind clarifying direction and nuances in this thread? Thank you.
    • @spacedmonkey has replied on the PR
    • @flixos90 also advised his response would be the same, we want to avoid calling wp_get_theme() multiple times where it can be called once instead. It’s not that we shouldn’t use the function anymore, just be conscious of limiting its usage to when it’s necessary
      • @10upsimon Perhaps a discussion for elsewhere @flixos90 but has there been consideration for a singleton instance response? i.e wp_get_theme() returns a singleton instance ( ::get_instance()) as opposed to instantiating a new class with each function return statement? Is there ever a valid cause for re-instantiating the WP_Theme class? I’m sure it’s far more complex and involved than I make it out to be, and I’d assume that this has been considered.
      • @spacedmonkey and @flixos90 advised we shouldn’t use singleton. But even if we use a global, there is a potential risk: Object instances are mutable so if any change was made on one instance returned from the function, it would affect every other instance if we went with a scenario where no new entity was returned on every call. For the most part this could be a backward compatibility break. So I’m not really sure this would be a worthwhile effort
  • @clarkeemily Just to call out there are currently 15 open issues marked as ‘Needs Review‘ across all focus areas and please keep an eye out for any PRs that may need review alongside these
    • @cpal I’ve recently been looking for ways we can leverage our in-house performance/load/functional testing solution at Pressidium® to help out the core-performance team in whatever way we can but I haven’t found something totally relevant just yet. I’m happy to share details on what we currently have available in the testing realm and what is yet to come.
      After having a brief into chat with @aristath, I believe we may be able to get something going with some of the work he is currently tackling after some further discussion.
      What do you all think?? Help a noob out that’s eagerly looking to find his footing in the WP Community by throwing out some relevant suggestions if-ever/whenever you can!
      • @adamsilverstein asked if a brief overview could be provided on testing in the context of WordPress Performance
      • Pressidium is a managed/HA hosting provider and I’m tasked with performance testing that we currently use to test out client sites and services depending on the needs on the client but since we went through (and are continuing with) developing a testing infrastructure we want to give back to the WP community with it all.
      • Further discussion / introduction ongoing here in the 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/. chat

Our next chat will be held on Tuesday, November 29, 2022 at 16:00 UTC in the #core-performance channel in Slack.

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

Performance Chat Agenda: 22 November 2022

Here is the agenda for this week’s performance team meeting scheduled for November 22, 2022, at 16:00 UTC.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 15 November 2022

The full chat log is available beginning here on Slack.

Announcements

  • Excellent update on the 6.1.1 release, which is going out today12 out of the 30 tickets in the 6.1.1 release are focused on performance! That is a great outcome and a testament to the team’s hard work on addressing some of the follow up quirks around 6.1 performance

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: No updates on object caching, has been focusing on 6.1.1 and theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.
    • A lot of theme.json parsing 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. have very serious performance issues
    • We have fixed a couple of them and they are making the way in 6.1.1
    • Another very relevant ticketticket Created for both bug reports and feature development on the bug tracker. is #57077 and #57114
  • @OllieJones: has a prototype of SQLite3 persistent object cache cooking; will make a module proposal soon (basically use SQLite for object caching rather than the main DB)
    • @flixos90: I wonder how much that overlaps or potentially conflicts with the proposal to use SQLite as database
    • @aristath: No overlap or conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved.… But they can definitely be combined for a performance boost
    • @flixos90: If a site can benefit from an SQLite DB speed and we implement that feature reliably, why would you not want to use that but then use it for an object cache?
    • @OllieJones: there are many installations that could benefit from a persistent object cache 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, without requiring a port of the main data to SQLite. And backup / redundancy / infrastructure would not need to change
    • @flixos90: The idea sounds very useful to me especially given wider support of SQLite, but I would still like to explore a better answer on balancing this “SQLite as cache” project with the “SQLite as DB” project and the tradeoffs between the two

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

Feedback requested

Database

@olliejones

GitHub project

  • @aristath: SQLite PR is ready for another round of tests and reviews
    • @flixos90: reviewed it a few times and it looks excellent to me. Some quirks to still address mostly. One thing I still want to explore a bit more is trying to figure out a way to have the SQLite DB prepopulated so that you don’t end up on the WP Install screen after updating the module; this wouldn’t be a blockerblocker A bug which is so severe that it blocks a release., but it would make the user experience a whole lot smoother
    • @flixos90: I would suggest we polish this over the next week and aim for a merge within the next 2 weeks? This way we can publish the first version in the upcoming Performance Lab 1.8.0 release mid December
  • @aristath will work on drafting a Make CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. post on the SQLite module for once it’s in the Performance Lab plugin
    • @flixos90: Best to draft it soon, so that we can review and finalize it early; this way we can publish it immediately the same day that that release will go out (December 19)

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Next Monday we’ll have the Performance Lab 1.7.0 release
    • At the moment, there are still 5 PRs in the milestone which need to be committed or punted by tomorrow
    • @mukesh27: PR #582 is ready for your review
      • @flixos90: Looks like that PR tackles a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. that #578 also focuses on (although that one does a bit more)
    • @flixos90: Given the size of the database health checks PR, I think it’s a bit too early (or too late, if you look at it from another angle) to merge it this short before the release, also since it’s a new module
      • @OllieJones: ok. let’s puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) it; will iterate on it so maybe we can merge it in the next few weeks for 1.8.0
    • @mehulkaklotar: PR #571 is under reviews right now, we will be able to merge it before tomorrow
    • @pbearne: I believe they are ready but will check

Feedback requested

Open floor

  • @OllieJones: I’d like to see w.org sign up for the https://greensoftware.foundation/
    • @flixos90: What kind of effort or commitment does that entail? As mentioned on the issue that you opened about this, this would probably be best to move forward with a Make Core post proposing it; getting a sense of interest at a larger scale is one reason I’d propose writing a Make Core post

Our next chat will be held on Tuesday, November 22, 2022 at 16:00 UTC in the #core-performance channel in Slack.

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

Performance Chat Summary: 8 November 2022

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

Mini bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub of performance issues for 6.1.1

  • See here
  • https://core.trac.wordpress.org/ticket/56923 – PR committed; should become available when @mamaduka syncs 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/ to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. on Thursday
  • https://core.trac.wordpress.org/ticket/56815 – assigned to @flixos90 for review
  • https://core.trac.wordpress.org/ticket/56900 – assigned to @peterwilsoncc for commit
  • https://core.trac.wordpress.org/ticket/56945 – @flixos90 has PR in progress at https://github.com/WordPress/wordpress-develop/pull/3536 that needs review and feedback, especially from Gutenberg team. @annezazu working to loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. someone in there.
  • https://core.trac.wordpress.org/ticket/56948 – ready for commit, just needs a final review; assigned to @peterwilsoncc
  • https://core.trac.wordpress.org/ticket/56952 – @adamsilverstein to look into
  • https://core.trac.wordpress.org/ticket/56974 – @flixos90 took a first look at the PR last week and will give it a comprehensive review today
  • https://core.trac.wordpress.org/ticket/56990 – @adamsilverstein‘s changes need review/testing
  • https://core.trac.wordpress.org/ticket/56991 – @spacedmonkey‘s fix at https://github.com/WordPress/wordpress-develop/pull/3575 needs review
  • https://core.trac.wordpress.org/ticket/57012 – ready for commit by @peterwilsoncc

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: Discovered a library, jSquash, that brings image format encoding/decoding to the web. Tested a bit and oping to use it to enhance the core 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 modern image capabilities. If successful, would let us introduce AVIF support without depending on server-side support.
  • @mehulkaklotar: Working on #563 for Performance Lab to change default WebP quality to 82; PR needs review.

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: Working mostly on 6.1.1 issues, but a few for 6.2, as well:
    • https://github.com/WordPress/wordpress-develop/pull/3544
    • https://github.com/WordPress/wordpress-develop/pull/3528
    • https://github.com/WordPress/wordpress-develop/pull/3534
    • https://github.com/WordPress/wordpress-develop/pull/3366
    • https://github.com/WordPress/wordpress-develop/pull/3365
    • https://github.com/WordPress/wordpress-develop/pull/3178
  • @tillkruess: Chatted with @johnjamesjacoby about adding a health check for the new wp_cache_supports() function to show which object caching features are supported/not supported but recommended. See https://github.com/WordPress/wordpress-develop/pull/3347. For example, get_multiple() is quite important. Any feedback on adding as a health check?
    • @spacedmonkey: Now have wp_cache_supports in core that we could use and wp_cache_supports( 'get_multiple') in all options. Instead of loading all options in one cache key, load each in their own cache key and all in single call.

Feedback requested

Measurement

N/A

GitHub project

  • No updates

Feedback requested

JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Plugin codebase is now updated to reflect our recent modifications to the focus areas per https://github.com/WordPress/performance/pull/566, thanks to @mukesh27

Feedback requested

Our next chat will be held on Tuesday, November 15, 2022 at 16:00 UTC in the #core-performance channel in Slack.

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

#meta

Performance Chat Agenda: 8 November 2022

Here is the agenda for this week’s performance team meeting scheduled for November 8, 2022, at 16:00 UTC.


This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

#agenda, #meeting, #performance, #performance-chat

Performance Chat Summary: 1 November 2022

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

Announcements

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @adamsilverstein: On the AVIF front, it looks like Apple is building support right into WebKit, which means AVIFs will work on older iOSiOS The operating system used on iPhones and iPads./MacOS as long as users upgrade Safari (currently support depends on the underlying OS). See https://github.com/WebKit/WebKit/pull/5669. The coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. is https://core.trac.wordpress.org/ticket/51228; the only outlier for AVIF support is now Microsoft Edge. In addition to 50%+ improvement over JPEG compression, AVIF images add support for HDR on the web; a contributor linked some sample images from the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket that are quite impressive.
  • @adamsilverstein: When working on the PR for setting fetchpriority=high on the non-lazy-loaded LCP image, noticed the first image on 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 isn’t having the lazy-loading attribute omitted as expected. Opened #56930 and PR #3538 to resolve; reviews appreciated. Also related: #56927, #55996.
  • @mehulkaklotar: Working on some improvements to Performance Lab:
    • Issue #560 – PR #565 – WebP upload configuration checkbox not showing in Settings > Media 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 -> Merged
    • Issue #563 – PR #571 – Change default WebP quality to 82
  • @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 PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. 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
    • @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.
    • @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 JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. Wish browsers supported some way of achieving a JPEG download of a WebP image on the web, e.g. if you use a <picture> 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.
      • @rmccue: Have run into this while serving images dynamically, no great way to handle
      • @flixos90: Looking to see if there’s anyone we can work with on this internally at Google

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @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 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. is noticeably worse, namely in the wp_head action. Have tracked down the particular change that makes wp_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

Measurement

N/A

GitHub project

  • @adamsilverstein: Digging back into the testing environment work that started awhile ago to see what we can pick up and use and what an 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 could look like. Still researching/documenting, but more to come.

Feedback requested

JS & CSSCSS Cascading Style Sheets.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Database

@olliejones

GitHub project

  • @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 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.?
    • @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

Infrastructure

@flixos90

GitHub project

  • @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

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

#meta