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` filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.#54476 and #56442
  • @mukesh27: Added checkbox to Settings > Media to control whether to generate JPEG in addition to WebP in #537
    • @flixos90: This is unlikely to ever make it into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., but it is useful 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 to test either of the two behaviors
  • @ankitgade: Continuing to work on background processing infrastructure

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: Published and helped with several dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. for 6.1:
    • https://make.wordpress.org/core/2022/10/10/performance-improvements-to-the-rest-api/
    • https://make.wordpress.org/core/2022/10/10/multisite-improvements-in-wordpress-6-1/
    • https://make.wordpress.org/core/2022/10/07/improvements-to-wp_query-performance-in-6-1/
    • https://make.wordpress.org/core/2022/10/06/new-cache-site-health-checks-in-wordpress-6-1/
    • https://make.wordpress.org/core/2022/10/11/performance-field-guide-for-wordpress-6-1/
  • @spacedmonkey: Also merged https://github.com/WordPress/wordpress-develop/pull/3424 and https://github.com/WordPress/wordpress-develop/pull/3403 and need code review for https://github.com/WordPress/wordpress-develop/commit/832b6c35f36d5f1ca84feadc49b0e5424af0ad6c, which will add a new function to core called wp_cache_supports to allow object caches to support different functionality
  • @spacedmonkey: Been investigating the performance regression seen in Beta 2, particularly new caching issues in block themes – see https://github.com/WordPress/gutenberg/issues/44772 for details. PR in the works https://github.com/WordPress/wordpress-develop/pull/3418 that needs review ASAP before the RC1 cutoff.

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 pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” in 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/.
  • @mxbclang: Dev note for new Site Health checks has been published: https://make.wordpress.org/core/2022/10/06/new-cache-site-health-checks-in-wordpress-6-1/

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

Feedback requested

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

@aristath @sergiomdgomes

GitHub project

  • No updates

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: Our next release, 1.6.0, will be this coming Monday, October 17. Any feature or enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. that you want to include in this release should be completed and merged by tomorrow (Wednesday, October 12, see #548).

Feedback requested

Focus area updates

@flixos90

  • @flixos90: Three proposed changes that have come up in recent weeks to align focus areas. First is to introduce a new Database focus area; there are several module proposals (SQLite, optimized autoloaded options, database health checks) and some core optimizations that would also fit into this
    • @spacedmonkey: Should Object Caching and Database be the same?
    • @olliejones: Suggest keeping them separate
    • @flixos90: Don’t think so, some are pure database optimizations while sometimes object caching works around DB requests. I’d say adding caching around DB queries is still “Object Caching,” but there’s also room to improve some queries themselves and other DB issues
    • @spacedmonkey agrees
  • @flixos90: Second: We have a JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. focus, but there’s also a lot of work going on 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/ to improve CSSCSS Cascading Style Sheets. loading. Should we introduce a CSS area, or alternatively broaden the existing focus to be Assets (including CSS & JS)?
    • @mxbclang: Makes sense to me to broaden JS to both unless we have someone who is really interested in leading CSS
    • @spacedmonkey: Think they should be separate; if no one leads CSS, then it is not a “focus”
    • @mxbclang: That’s not entirely true; there’s some maintenance around designating something as a “focus,” e.g. having it on our weekly agenda, GH labels, updating the CODEOWNERS file, etc.
    • @olliejones: Is the scope of the JS focus intended to cover ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. apps and XHR/fetch performance?
    • @flixos90: FWIW the JS focus has barely made any updates here since it was established, but it’s a noticeable aspect of performance and some projects have been kicked off so would not want to remove it; @aristath has been quite involved with CSS though
    • @spacedmonkey: What does the JS focus mean right now?
    • @adamsilverstein: We do have some work around enabling better loading strategies for scripts that falls under JavaScript; I’ve been working on researching the benefits of using defer
    • @flixos90: Generally most of our focus is on website front-end performance, so the JS focus is also focused on front-end – things like deferring scripts, not loading JS that isn’t used, etc.
    • @spacedmonkey: How about a “Front-End” focus then?
    • @flixos90: Don’t think that would make sense, since everything we do is about front-end. Even DB queries and object caching improvements affect the front-end a lot. Let’s discuss later.
  • @flixos90: Last one: Suggest removing the Site Health focus – not because we shouldn’t work on Site Health, but more because any Site Health check actually fits into other areas and would be better suited as part of the other focus areas as opposed to it’s own area. There has not been a focus lead for Site Health, which is maybe another indicator that we should retire this area and consider checks to be part of other focus areas moving forward.
    • @spacedmonkey: So like an object caching-related Site Health check would be part of the Object Caching focus, right? Yes
    • @flixos90: Looking at our current SH modules:
      • Autoloaded options audit > Database
      • Enqueued assets > JS/CSS (TBD)
      • Full page cache > Object Caching
      • WebP support > Images
  • Vote on all through proposals here through Tuesday, October 18, 2022 at 1pm EDT: https://github.com/WordPress/performance/issues/554

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

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

#meta