Performance Chat Summary: 14 February 2023

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

Announcements

  • Performance team roadmap for 2023 reminder, if you’re actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue before end of day Wednesday February 15, 2023
  • Team rep nomination reminder, please add your nominations for Performance Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. by Friday, February 24 2023

Focus area updates

Images

@adamsilverstein @mikeschroder

GitHub project

  • @flixos90: we got the lazy-loading fix for 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 committed to WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. yesterday: https://core.trac.wordpress.org/changeset/55318 – just in time for the WP 6.2 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 2

Feedback requested

Object Cache

@tillkruess @spacedmonkey

GitHub project

  • @spacedmonkey: Would like to get feedback on #57701 and 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/ PRs 48003, 48001, 48000, 47999, 47997

Feedback requested

Measurement

N/A

GitHub project

  • @joegrainger: Progress on 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 Checker infrastructure is moving along nicely. We’re aiming to have a working plugin running with some initial checks by end of the month. You can track progress on the GitHub repo and feel free to leave any thoughts/ideas you may have (the repo will be moved to the WordPress organisation when ready).
  • @joemcgill: I’ve got a working implementation of a profiler setup, using XHProf in a wp-env environment that I plan on cleaning up and submitting as a PR to the @wordpress/env package this week and will write up detailed instructions for how others can use these tools to profile WordPress locally.
  • @joemcgill: I’ve also been supporting @mukesh27 (who is also traveling today) on an initial implementation of adding automated server timing measurements to the wordpress-develop repo so we could begin measuring the performance impact of specific commits to core. Looking to try and open a PR later this week.
  • @flixos90: I quickly hackedhacked the WP core dev environment yesterday using @joemcgill‘s XHProf approach above to get it running there too: https://github.com/felixarntz/wordpress-develop/commit/ed096270d817eb9850ea54e4a30662cf2d9492d8
    This is by no means a clean implementation, but something to potentially explore later; would be nice to get this optionally baked into the core dev environment as well so we can easily do profiling as we develop
  • @joemcgill: One thing to note there is that there is an observability cost to profiling, so it’s not meant to be a way of measuring performance from a user’s point of view, but instead to inspect the performance attributes of specific subsystems within a WordPress request lifecycle

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

  • @olliejones: SQLite integration: Lots of testing coming in.  Ari Stathopoulos and Adam Zielinski have been hammering away on the SQL dialect translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. issues. This PR will be an ongoing job.
  • @olliejones: It would be nice to integrate some database query stuff into the Server-Timing 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. — that reports to the browser. I’ll do a module proposal.

Feedback requested

Infrastructure

@flixos90

GitHub project

Feedback requested

Open Floor

  • Approach for publishing modules as standalone plugins
    • @joemcgill: That seems like a conversation about “which” modules should be published outside the Performance lab plugin, which is the same as this issue, correct?
    • @flixos90: Yes 640 is related, but this is about our policy. Basically, if we decide every module is a standalone plugin, there will never need to be any discussions on which modules to publish and which not to
    • @joemcgill: I think the only thing that is unclear is whether we’re going to intentionally not publish certain types of modules (e.g., site health checks) as separate individual plugins. I’m still of the opinion that those types of features, which don’t modify the user experience of WordPress, but are instead meant to help measure and/or provide performance feedback should remain part of the Performance Lab plugin itself, rather than being shipped separately.
    • @flixos90: So I guess we have to decide between 3 alternatives
    • @joemcgill: I think that’s a good initial set of options. As a thought experiment, we should apply these options to the current list of modules
    • @flixos90: I took your request to heart and posted a list of modules here

Our next chat will be held on Tuesday, February 21, 2023 at 16:00 UTC in the #core-performance channel in Slack.

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