Performance Chat Summary: 13 December 2022

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

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @pbearne: Can we get the Media Library patch for dominant color merged? https://github.com/WordPress/performance/pull/587
    • @adamsilverstein: Not working yet, did the template replacing work but not the actual dominant colors
    • @pbearne will try to update this week

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: Need code review for merge on:
    • https://github.com/WordPress/wordpress-develop/pull/3544
    • https://github.com/WordPress/wordpress-develop/pull/3365
    • https://github.com/WordPress/wordpress-develop/pull/3743
  • @spacedmonkey: Been trying to add caching to get_adjacent_post but filters make it hard

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger: Started engineering on 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 Check this week, building out initial infrastructure
  • @flixos90: Server-Timing API PR has gotten some reviews and is lined up for Monday’s 1.8.0 release
    • Should help us significantly in assessing server timing metrics in the field; we’re currently extremely limited in that regard as the usual tools only give us client-side performance metrics
    • For example, other than baseline PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher execution time and DB query time metrics, it also includes one more specific metric, to measure the autoloaded options query (which will help us assess the potential impact of https://github.com/WordPress/performance/issues/526)
    • Very large PR (like SQLite) so the more reviews the better, hoping to merge tomorrow for 1.8.0, otherwise will need to 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.) to 1.9.0
    • Will be part of the plugin’s infrastructure, so other modules will be able to leverage it to add server timing metrics around their own behavior and validate how much a certain module improves server-side performance in the field

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

  • @mxbclang: Blog post on enhancing the Scripts API with a loading strategy
    • Proposal from @adamsilverstein on a new approach; please take time to review and comment
    • @adamsilverstein: Next step is a ticketticket Created for both bug reports and feature development on the bug tracker./code proposal, thinking a new TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket might be best
    • @mxbclang and @flixos90 agree on a new Trac ticket
    • @spacedmonkey: Is there a plan to use the defer 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. in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. themes and plugins? Useful for developers to see it in action and provide a good example
      • @adamsilverstein: Yes, that’s the plan, to use it wherever we can in core, including themes
    • @spacedmonkey: Might be worth reaching out to the 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/ team to see if 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. editor could use this
      • @adamsilverstein: Greg was always asking for it and commented on the original proposal; will be sure to keep them in the 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.
    • @johnbillion: Have any scripts in default themes been identified as being able to support defer? Probably fewer can support async
      • @adamsilverstein: For sure things like commenting script, but haven’t looked at core themes yet. Probably lots of things in wp-adminadmin (and super admin), as well.

Feedback requested

Database

@olliejones

GitHub project

  • @olliejones: @aristath finished the SQLite module https://github.com/WordPress/performance/pull/547 and we would welcome additional testing in advance of Monday’s release
    • @flixos90: Important to test the user experience on module activation. You’ll get an entirely new DB with some added logic to make the transition as seamless as possible. This is only the install; no content migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies..
    • @spacedmonkey: Do we run unit tests with SQLite enabled?
      • @flixos90: We don’t, but that’s a great idea. Maybe we can add an extra scenario to the GH action for PHPUnit that always has the SQLite database active so we can spot any inconsistencies.
      • @spacedmonkey to open an issue

Feedback requested

Infrastructure

@flixos90

GitHub project

  • @flixos90: A few PRs have landed that fixed some issues with tests since PHP 8.2 caused breakage; kudos to @mukesh27 for working on those
  • @adamsilverstein: Proposed a new plan for A/B testing capability in the plugin https://github.com/WordPress/performance/issues/597 and would appreciate feedback

Feedback requested

Open floor

  • @spacedmonkey: Would love review on https://github.com/WordPress/wordpress-develop/pull/3609, one line of code that would result in big wins

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

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

#core-performance, #meta