Closed felixarntz closed 1 year ago
In this comment I'm sharing two priorities that have already been proposed in Make blog posts:
Adding fetchpriority="high"
to the LCP image in WordPress core
fetchpriority
is a new HTML attribute that tells the browser about the priority that a certain resource should be loaded with. By adding the attribute to the LCP image / hero image on each page, we can ensure it is prioritized which will enhance WordPress's load time performance.fetchpriority="high"
to it) can improve LCP performance by more than 10%, which is a significant impact for this relatively straightforward change.Identifying and addressing the largest server response time bottlenecks in WordPress core
Better SQL indexes on tables
Eliminating jQuery usage from the frontend in WordPress default themes
Build large reference instances for load- and regression- testing large-site performance.
What: Cloneable sites with tens of thousands of posts / pages / users / categories / tags. Specifically
It's necessary to build cloneable sites, then work out how to incorporate them into test workflow.
Why: Load testing (aka stress testing) is a good way of detecting bottlenecks and concurrency issues in large systems.
Famously, it's hard to optimize things you can't measure.
Finally, repeatable testing can help catch performance regressions.
Notice that these reference sites may help @adamsilverstein's goal of automated performance testing.
Optimize the taxonomy subsystem.
What: Find and fix inefficiences in the taxonomy subsystem.
Why: Field data on MariaDB / MySQL performance shows large-site problems (some stunningly slow queries) in taxonomy handling. There's probably some low-hanging performance fruit to harvest.
Avoiding to lazy-load LCP / hero images in WordPress core
Improving the calculation of image sizes
attributes
sizes
attribute. Therefore, we shipped a reasonable default value and encouraged theme authors to filter that default for more accurate sizes
attributes. With block themes, we now have more layout information available and may be able to improve the default sizes
calculation for images.sizes
attribute of images, calculating these accurately is fairly complex, and many WordPress sites are either not filtering this attribute or are doing so inaccurately. According to this Web Almanac analysis there is a significant opportunity to improve performance of image loading by improving the accuracy of the sizes
attribute WordPress produces.Optimizing the autoloaded options database query in WordPress core (see module proposal)
Posting here some notes from @spacedmonkey that he shared with me via DM (he didn't post himself because of limited availability this month):
- Lazy loading meta data.
- Improve performance of translations.
- Autoloaded options.
- PHP versions, upping min version and removing backwards compablitiy for php 5.2/4 that is still in core.
- Block theme performance
I already proposed an item for optimizing the autoloaded options query in https://github.com/WordPress/performance/issues/631#issuecomment-1430191057, but the other 4 points weren't explicitly mentioned before on this issue. 👍
Thank you everyone who posted a comment on this issue! 🙌
As mentioned in the issue description, at this point the preparation phase of collecting priorities in this issue is closed.
Based on all the feedback above, I will draft a roadmap for the performance team that shall eventually be published on the Make Performance site. Once there is a draft, I will share it in the #core-performance Slack channel for review and feedback prior to publishing.
integrated with openswoole and roadrunner
With the WordPress Performance Team being official and having a dedicated Make Performance site, we should have a team roadmap for what we want to primarily focus on this year. This issue is an open call to share your personal or collective priorities for the year, so that we can aggregate them in an eventual public roadmap to share with the wider WordPress community.
The roadmap should eventually be published as a top-level menu page on https://make.wordpress.org/performance/, and we plan to publish a brief post to inform about it on the Make Core site.
The roadmap should encompass any efforts associated with the WordPress Performance Team, regardless on how those efforts are being implemented - whether it is a pull request to core, a feature project in the Performance Lab plugin, a separate project, etc.
If you're actively contributing to the WordPress Performance Team or plan to do so this year, please share your priorities for 2023 as a comment on this issue!
For every priority that you would like to focus on this year, preferably include the following:
A good rule of thumb for the descriptions is 2-3 sentences. Don't be too brief, but no need for a PRD-style essay either :)
Last but not least, note that this roadmap is of course not set in stone. Priorities can shift over the year, and the roadmap should remain a living document over time that we keep updating as needed. So this initial set of priorities for 2023 acts as a solid starting point.
This issue will remain open for project priorities until February 15, 2023. Afterwards, the public roadmap will be drafted based on the priorities shared here. The roadmap draft will be shared for review in a future #core-performance chat, to allow for feedback and iterations before it is published.