Meeting agenda here and the full chat log is available beginning here on Slack.
Announcements
- Release the Performance Lab plugin 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 2.1.0 yesterday
Priority Projects
Server Response Time
Link to roadmap projects
Contributors: @joemcgill @spacedmonkey @aristath
- @spacedmonkey I have been working on profiling translations and looking into how we can make them faster
- @joemcgill working with @spacedmonkey on comparing notes this week on some initial profiling that we’ve done. I’m still struggling a bit to write all of this up in a shareable way, given that I’ve got one arm in a sling, but we should have some good progress to share by next week.
- @spacedmonkey committed the following issues
- @spacedmonkey On autoloading, I did some quick profiling on it and a seeing slower performance after the change. Around 5ms on a home page view.
- @flixos90 Yeah that covers roughly with benchmarks I had done a few months back
- @spacedmonkey I tested this – https://github.com/WordPress/wordpress-develop/pull/3470 There maybe benefits for other requests types, like REST APIs
- @flixos90 Autoloading is tricky. There is probably some memory benefit of not loading as much PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher code, but we’ll have to assess the performance impact more. Of course autoloading is a good practice, but we also need a good argument to support getting this into core Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. And if it actually slows down server response time, I would say we shouldn’t push it. But more research needs to be done.
Database Optimization
Link to roadmap projects
Contributors: @aristath @spacedmonkey @olliejones @rjasdfiii
JavaScript 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/. & CSS Cascading Style Sheets.
Link to roadmap projects
Contributors: @mukesh27 @10upsimon @adamsilverstein
- @10upsimon gave his update on Enhancing the Scripts API 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. with a loading strategy ahead of time
- Engineering for the epic as a whole has been completed and is in round 1 of code review and iteration – work can be seen here. We anticipate an iterative feedback and implementation loop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. to continue into next week, followed by a full and final code and functional review of all work by EOW next week, thus concluding engineering and being in a state to consider and implement a core merge proposal mid-April.
- A developer testing plan is currently in review, which aims to support testing efforts of all engineering work carried out. This includes validation of all unit tests introduced as part of said work, and defines functional testing approaches, of which popular WordPress themes and plugins are included as part thereof.
- An approach for documentation (automated/code reference & community) has been discussed and is soon to be executed. Draft documentation items will be produced for review, with the aim of being released as soon after the core merge as possible.
Images
Link to roadmap projects
Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill
- @adamsilverstein I have an update about the image comparison game/study I ran at WordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia. In the game people compare two images generated by WordPress to the original uploaded image. The image quality setting between the images varies and the format changes as well, so far I’m testing with WebP and JPEG and quality settings from 70 to 90.
- @adamsilverstein Here is a doc with a summary of the results and a bit of analysis as well as a link to a sheet with the raw data:
- To summarize the results though:
- People loved playing the game and also became super engaged about images
- We didn’t gather enough data to have statistically meaningful results
- Anecdotally, most people struggled to tell which image was closer to the original
- @joemcgill I’m starting a high-level review of our approach to calculating the
sizes
attribute for images in WordPress this week. It’s the first step for me to work on ways we can improve some of the base assumptions that the current approach takes and see if we can improve it now that we have more information and block 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.
- @flixos90 I have been researching the remaining problems with lazy-loaded LCP images, with some good findings. I should have something to share in a week or two. Likely this will be in form of a few new Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets with things we should fix. It’s worth noting that still more than 20% of LCP images today are being lazy-loaded with the
loading
attribute. This is where WordPress core can help.
- (Additionally ~10% of LCP images today are lazy-loaded through other custom JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. technologies, so that’s something where plugins and libraries will have to do the work. Maybe something we can help facilitate)
Measurement
Link to roadmap projects
Contributors: @adamsilverstein @olliejones @joemcgill @mukesh27
- @joemcgill Automated performance timing continues to be collected and was useful while reviewing potential performance regressions during release candidates for 6.2. We are starting to put some thought into what the next improvements should be. If anyone has specific ideas they think should be considered, I’d certainly love input. Will share some ideas in the coming weeks.
- @adamsilverstein I wanted to link to a Drupal ticket Created for both bug reports and feature development on the bug tracker. where their team is working on adding automated performance testing for Drupal core: https://www.drupal.org/project/drupal/issues/3346765. The approach they are taking is quite different, with a plan to store performance traces using a tool like Open Telemetry or “jaeger” (new to me) – although they are starting more simply like we have. I feel like it is worth following their effort as we can always learn from each other
Ecosystem Tools
Link to roadmap projects
Contributors: @joegrainger
- @joegrainger We are working on the final elements on the Plugin Checker infrastructure with plans to complete this by the end of the week. From next week we’ll be performing initial testing and review of the infrastructure before working on the additional checks. Progress as always can be seen on the GitHub repo here. Please feel free to take a look and leave any thoughts/ideas you may have in the repo.
Creating Standalone Plugins
Link to GitHub overview issue
Contributors: @flixos90 @mukesh27 @10upsimon
New Projects / Proposals
- A polite reminder, our 2023 roadmap is intentionally broad. Despite there being clear workstreams envisioned within the highlighted priorities, the team aims to support contributors with additional related ideas
Open Floor
Our next chat will be held on Tuesday, March 28, 2023 at 16:00 UTC in the #core-performance channel in Slack.
#core-media, #core-performance, #performance, #performance-chat, #summary