Performance Chat Summary: 25 July 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

  • @swissspidy The post above is my update in this area 🙂
  • @joemcgill One of the areas that I wanted to look into after the 6.2 Performance Analysis was how to improve the performance of template loading in both 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. theme and classic theme contexts. I am planning an initial exploration into some architectural improvements that could be made to improve both.

Database Optimization

Link to roadmap projects

Contributors: @aristath @spacedmonkey @olliejones

  • No updates this week

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

  • @10upsimon Not a massive update from my side, we’re working on wrapping up some draft Developer Reference documentation updates that we hope to finalise this week

Images

Link to roadmap projects

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill

  • @joemcgill Something I’ve been keeping an eye on…the HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. spec was recently amended to include definition for letting browsers automatically calculate the sizes attribute for lazy-loaded images (see GH issue). It’s still in early implementation, but seems like this could be a useful thing for us to implement in WP since a lot of images are being lazy loaded by default, and our default sizes attribute is usually not all that accurate unless being filtered by theme authors.
    • Thinking this would be a great Perf Lab module candidate
    • GH issue to be created in the performance repo

Measurement

Link to roadmap projects

Contributors: @adamsilverstein @olliejones @joemcgill @mukesh27 @swissspidy

  • @swissspidy I assume there are some plans to measure performance of RC2 vs. 6.2 once it’s out.
    For that I began putting together a tool to automate this sort of benchmark: https://github.com/swissspidy/compare-wp-performance
    Initially just 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, but now with the intention to have a script for running locally as well
    • @joemcgill This is such a nice workflow for automating this process

Ecosystem Tools

Link to roadmap projects

Contributors: @mukesh27 @swissspidy @westonruter

  • @mukesh27 Great news everyone! We have successfully completed the QA testing phase this week, and I’m happy to report that everything is working as expected. During the testing process, we identified a few issues which have been promptly raised on GH.
    • Moreover, I’m excited to announce that the technical documentation for our 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 tool is now complete and merged. With the documentation in place, you can now gain a deeper understanding of the tool’s functionality and how it works. For detailed context and information, please refer to the following link: https://github.com/10up/plugin-check/tree/trunk/docs
    • To stay up-to-date with our progress, follow us on GitHub: https://github.com/10up/plugin-check/ We highly value your input! If you have any thoughts, ideas, or feedback, please don’t hesitate to share them on the repository. Your contributions are immensely valuable to us.
  • @westonruter Last week I worked on extending the benchmark-web-vitals script to support running on a mobile device (e.g. connected via USB debugging). I got stuck however, and trying to figure out some missing piece: https://github.com/GoogleChromeLabs/wpp-research/pull/58
    • @swissspidy Testing on an actual mobile device sounds cool! Maybe someone from the Puppeteer team could help with this blockerblocker A bug which is so severe that it blocks a release.?
    • @westonruter Yeah, I tried an initial reachout on Friday, but I was out yesterday. I’ll see if I got anything once I catch up
    • @swissspidy Without a device at hand, is it alternatively possible to test with throttling?
    • @westonruter I asked Felix about that too, wondering if it was a capability. It isn’t right now, so we’d have to figure out how to implement. It used to be a feature in DevTools but it seems to have been removed
    • @swissspidy CPU throttling can be found here, In Puppeteer: https://pptr.dev/api/puppeteer.page.emulatecputhrottling

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • @10upsimon I’ve been working on some UIUI User interface mocks for the standalone plugin installation via the existing PL settings screen, and we’ve arrived a pretty solid point to start execution. Currently doing some engineering discovery around what we can use from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and other resources to facilitate the plugin management using the same process as core that we see via the Plugins > Add screen  (for installation, activation and deactivation of standalone performance plugins)

Open Floor

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

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