Performance Chat Summary: 7 May 2024

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

Announcements

Priority Items

Structure:

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (WP 6.6)
  • Performance Lab 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 (and other performance plugins)
  • Active priority projects
    • Improve template loading
    • INP research opportunities
    • Improving the calculation of image size attributes
    • Optimized autoloaded options

WordPress Performance Trac Tickets

  • For WordPress 6.6:
    • No updates today, watch out for the 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 happening tomorrow

Performance Lab Plugin (and other Performance Plugins)

  • @westonruter I think we’re just about done with the PHPStan level upgrades, going from 0 to 6: https://github.com/WordPress/performance/issues/775 
    • The team continued to discuss the number of levels and also #59653
    • @westonruter It would be great for coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. to adopt it with a populated baseline so that all existing issues are ignored but new issues are reported as they arise
    • @joemcgill The PHPStan work will likely cause bumps to all of our plugins, not just the ones with issues in milestones. Are those going to be reflected in changelogs?
    • @westonruter Yeah, we need to bump the versions. Maybe a general changelog entry for improving code quality?
    • @joemcgill That makes sense, we can even add the overarching ticketticket Created for both bug reports and feature development on the bug tracker. to all the project milestones perhaps?
    • @johnbillion RE PHPStan, core ticket #52217 is about fixing issues it identified, but I would be in favour of a follow-up proposing implementing PHPStan at some level.
    • @westonruter will file a ticket
  • @clarkeemily reminder that the next Performance Lab release is May 20 see https://github.com/WordPress/performance/milestones

Active Priority Projects

Improve template loading

  • @joemcgill three issues remaining in this project, #59595, #59600, and #57789
    • #61112 is related to the above, and looks ready for commit to both 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/ and Core. I don’t have commit access to GB but can handle the Core merge
  • @joemcgill All this need to make the same change in both repos seems inefficient to me, and is part of the larger conversation about improving the syncing process from GB > WP-dev repos. I’ve started this thread specifically about improving the way the 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. stuff is managed
    • @joemcgill I think we can handle the isGlobalStylesUserThemeJSON change in a follow-up pending discussion in the GB repo
    • @thekt12 Yes. But do we need to fix inconstancy in core PR now or we should do it after the next GB pr?
    • @joemcgill No, that needs to be fixed when the change in the GB repo is synced to Core. That’s why the inconsistency exists, and highlights the problem with maintaining redundant classes in both repos.
  • @thekt12 working on improvements to #59595

INP research opportunities

  • GitHub tracking issue
  • @adamsilverstein I’ve been working a little on adding instrumentation to the Interactivity 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 a draft PR

Improving the calculation of image size attributes

  • @joemcgill No changes since last week, but are planning to start development on #GH1187 soon

Optimized autoloaded options

  • @joemcgill Yesterday, I committed r58105, which is a follow-up on our previous autoload options changes
    • As a side effect, it revealed that there are some issues with the way we are collecting performance metrics in the codevitals dashboard that I plan to follow up on later today
    • Also @pbearne and I have been collaborating on a dev notedev 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 r57920, which is close to being ready for review.

Open Floor

  • @mukesh27 Is there any plan to merge https://github.com/WordPress/performance/tree/trunk/includes/site-health/audit-autoloaded-options in core?
    • @spacedmonkey The blockerblocker A bug which is so severe that it blocks a release. for the above was at the lack of action to.
    • it is all well and good highlighting that there are 20 options that are very large, but with no way to fix it, a user it out of luck. I had planned to have a way of changing options to be from being autoloaded or not. Think checkbox and rest apiREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. to update the row in the database. I haven’t had anytime to look at now I am not sponsored.

Our next chat will be held on Tuesday, May 14, 2024 at 15:00 UTC in the #core-performance channel in Slack.

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