Performance Chat Summary: 12 September 2023

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

Announcements

Priority Projects

Server Response Time

Link to roadmap projects

Contributors: @joemcgill @spacedmonkey @aristath @swissspidy @thekt12 @mukesh27

  • @spacedmonkey
  • @thekt12 I have addressed #58682, got some initial review changes. I’ll commence my work on #58319
  • @mukesh27 Working on #22192, PR is ready for review https://github.com/WordPress/wordpress-develop/pull/5139/
  • @flixos90 I left a comment on https://core.trac.wordpress.org/ticket/55996#comment:39 yesterday that I would like to get other people’s thoughts on. Revisiting that ticketticket Created for both bug reports and feature development on the bug tracker., I’m not sure the original direction is really where we want to go
    • @spacedmonkey Code reviewed the draft PR. The biggest issue is the name of the 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. as that is already used
  • @flixos90 I also implemented two proof of concept PRs with alternative ways to address some of the related problems
  • @joemcgill Last week, I updated the overview ticket we had in the performance repo for improving template loading and created two new tickets, #59314 and #59315 related to that work. Right now, our team has a lot already in progress for the 6.4 milestone, and with it being a shorter release cycle, I’ve moved those two tickets to future release, but would like to prioritize them earlier. If anyone ends up having capacity to work on them during this milestone, I think we could consider moving them in.
  • @joemcgill I’m planning on taking another swing at #57789 this week, with the intent to try to make the changes 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/ 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 prior to getting them into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., as discussed originally with @oandregal
    • @spacedmonkey I am worried about making that cache persistant. It hard to know when 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. file has been updated? What if someone ftp updates the file? A lot of the WordPress code base guess that files could change. But many hosts lock this down, like VIP GO. I wonder if we could have a new flag to say that files cannot be updated
    • @joemcgill That’s part of what needs to be solved. There are several cache invalidation issues that need to be addressed, but honestly, the FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients. use case is a lower concern for me so long as any persistence is flushable. I think anyone who is manually updating files is already needing to run cache flushes as a part of their workflow at times.

Database Optimization

Link to roadmap projects

Contributors: @spacedmonkey

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/. & CSSCSS Cascading Style Sheets.

Link to roadmap project

Contributors: @mukesh27 @10upsimon @adamsilverstein @westonruter

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill @pereirinha

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy

  • @joemcgill Pascal recently updated the Performance workflow to show the relative change of a specific PR compared with the trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., which will show in the action summary. (example)
    • I think there’s still some room for us to improve the understandability and accuracy of those tables, but this is a much easier way to spot performance issues at a glance on PRs. Should be really helpful for reviewers

Ecosystem Tools

Link to roadmap projects

Contributors: @mukesh27 @swissspidy @westonruter

  • No updates this week

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • @10upsimon Arrived at a working UIUI User interface for managing standalone plugins within the WPP settings screen
    • Transitioning to issues related to the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. aspect, i.e raising correct admin notices, enhancing the UI within the WPP settings screen to be more indicative of what current active modules have standalone plugins that should be activated instead, and so on.
      • @flixos90 Regarding the second point, not sure at what stage that exploration is at, but I think it would be great for the first PR to be only about the general UI, without the migration aspects, to limit scope

Open Floor

  • Agreed to focus tomorrows Bug Scrub on 6.4 tickets without an owner

Our next chat will be held on Tuesday, September 19, 2023 at 15:00 UTC in the #core-performance channel in Slack.

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