Performance team meeting summary 25 January 2022

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

Focus group updates

Announcements

@mxbclang

  • Three issues are open for voting here until February 1, 2022 at 6pm GMT
  • What to do with issues that don’t fit into a specific focus/project?
    • Considered adding a “Misc” project, but that could be hard to maintain
    • Proposal: Add a “Misc” label and do not add to a project
    • If we see several related issues with “Misc” labels, we can discuss a new project/focus area
    • Proposal accepted; “Misc” label will be added

Images

@adamsilverstein @mikeschroder

GitHub project

Feedback requested

  • N/A

Object caching

@tillkruess @spacedmonkey

GitHub project

  • @tillkruess: Making good progress and project is organized.
  • @flixos90: We need to do a better job of going through performance-related issues in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.. Will review these this week and ask others to do the same.

Feedback requested

Site Health

@audrasjb

GitHub project

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

Feedback requested

  • N/A

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

  • @aristath: Still been focused on 5.9, but now that it’s released, will be able to refocus on this project. Think that focus should be 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 and how blocks add scripts to the front-end. A lot of this was dependent on infrastructure included in 5.9. Could include things like optimizing their delivery, allowing themes & plugins to “attach” scripts to blocks, etc. Plan to go over blocks this week, find possible ways to improve how scripts work there, then compile a list of tickets we can work on in 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/ repo, and start discussions in the performance 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’s repo.

Feedback requested

  • N/A

Infrastructure

  • @flixos90: Opening an issue soon to discuss the scope of the initial plugin release. We already have a GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ action to eventually deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. this to wordpress.org, but which account should we use for that deployment?
    • Some ideas outlined here: https://github.com/WordPress/performance/issues/42
    • Proposal: Create an account not tied to an individual contributor, e.g. performanceteam. Proposal accepted and @flixos90 will create the new account.

Feedback requested

  • N/A

Open floor

  • @craigfrancis: With ticketticket Created for both bug reports and feature development on the bug tracker. #52506, updating wpdb::prepare(), I’ve created my own basic performance testing page, and including a way of downloading the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. as a /wp-content/db.php file… I’m just wondering if I’m going about this in the right way?
  • @sergiomdgomes: Do we think of the performance plugin as a staging space for Core, or do we see it as a performance playground of sorts instead, which we share with the community? More concretely, which of these do we think are adequate or inadequate?
    • Experiments that may break some sites
    • Experiments that may worsen performance in some cases
    • Transitional experiments that are never intended to make it to Core because they’re too “hacky” or unstable
    • @flixos90: Most if not all modules should be intended for an eventual merge into WordPress core. IMO we shouldn’t build something into the plugin which we are already sure is a no-go for WordPress core based on what it does. We have an “Experimental” flag that each module can define and should be used for really early projects.
  • @pbearne: Should we add proof of concept code to the performance plugin that turns on a feature added to core that we expect plugins to handle in the future? For example, new core filters for get_all_options
    • @flixos90: Open an issue explaining a bit more along with a draft PR if helpful

Help wanted

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