Performance Chat Summary: 22 November 2022

The full chat log is available beginning here on Slack.
Announcements
- @clarkeemily thanked the team for the 1.7.0 release yesterday
Focus area updates
Images
@adamsilverstein @mikeschroder
- No updates
Feedback requested
- See above
- Needs Discussion (10 issues)
- Needs Review (1 issue)
Object Cache
- @spacedmonkey working on several Trac tickets (Don’t use _prime_post_caches() if meta/terms cache should be updated and Implement wp_cache_get_multiple() in wp_queue_posts_for_term_meta_lazyload())
- @spacedmonkey also worked on theme.json parsing including:
Feedback requested
- See above
- Needs Discussion (4 issues)
- Needs Review (1 issue)
Measurement
N/A
- No updates
Feedback requested
- Needs Discussion (5 issues)
- Needs Review (1 issue)
JS & CSS
- No updates
Feedback requested
- Needs Discussion (4 issues)
- Needs Review (2 issues)
Database
- @aristath continues to refine the SQLite module, and it’s pending a review so we can merge it
- @aristath started working on a draft post to publish on make when the SQLite module gets merged, to invite testers.
- @aristath having difficulty running performance A/B tests for the WP-Core classes autoloader POC. This one is going to take some more time.
- @OllieJones has been working on an
sqlite-object-cache
plugin (see repo). He mentioned it in last week’s meeting, but the question is whether we want to include this as a module in the performance-lab plugin. Right now it’s standalone and works perfectly fine. My personal opinion is it should be considered as a module… SQLite is universal and can therefore be used in Core to improve performance as a caching mechanism.
Feedback requested
- Needs Discussion (2 issues)
- Needs Review (3 issues)
Infrastructure
- No updates
Feedback requested
- See above
- Needs Discussion (5 issues)
- Needs Review (3 issues)
Open floor
- @oandregal asked: for folks working around
wp_get_theme
etc. Wanted to share a cross-PRs comment. I’m having troubles following direction regarding whether or not to usewp_get_theme
. This PR proposes removing it from some places (backports changes from core), while these other two proposes to add it to a few hotpaths. Would you mind clarifying direction and nuances in this thread? Thank you.- @spacedmonkey has replied on the PR
- @flixos90 also advised his response would be the same, we want to avoid calling
wp_get_theme()
multiple times where it can be called once instead. It’s not that we shouldn’t use the function anymore, just be conscious of limiting its usage to when it’s necessary- @10upsimon Perhaps a discussion for elsewhere @flixos90 but has there been consideration for a singleton instance response? i.e
wp_get_theme()
returns a singleton instance (::get_instance()
) as opposed to instantiating a new class with each function return statement? Is there ever a valid cause for re-instantiating theWP_Theme
class? I’m sure it’s far more complex and involved than I make it out to be, and I’d assume that this has been considered. - @spacedmonkey and @flixos90 advised we shouldn’t use singleton. But even if we use a global, there is a potential risk: Object instances are mutable so if any change was made on one instance returned from the function, it would affect every other instance if we went with a scenario where no new entity was returned on every call. For the most part this could be a backward compatibility break. So I’m not really sure this would be a worthwhile effort
- @10upsimon Perhaps a discussion for elsewhere @flixos90 but has there been consideration for a singleton instance response? i.e
- @clarkeemily Just to call out there are currently 15 open issues marked as ‘Needs Review‘ across all focus areas and please keep an eye out for any PRs that may need review alongside these
- @cpal I’ve recently been looking for ways we can leverage our in-house performance/load/functional testing solution at Pressidium® to help out the core-performance team in whatever way we can but I haven’t found something totally relevant just yet. I’m happy to share details on what we currently have available in the testing realm and what is yet to come.
After having a brief into chat with @aristath, I believe we may be able to get something going with some of the work he is currently tackling after some further discussion.
What do you all think?? Help a noob out that’s eagerly looking to find his footing in the WP Community by throwing out some relevant suggestions if-ever/whenever you can!- @adamsilverstein asked if a brief overview could be provided on testing in the context of WordPress Performance
- Pressidium is a managed/HA hosting provider and I’m tasked with performance testing that we currently use to test out client sites and services depending on the needs on the client but since we went through (and are continuing with) developing a testing infrastructure we want to give back to the WP community with it all.
- Further discussion / introduction ongoing here in the Slack chat
- @cpal I’ve recently been looking for ways we can leverage our in-house performance/load/functional testing solution at Pressidium® to help out the core-performance team in whatever way we can but I haven’t found something totally relevant just yet. I’m happy to share details on what we currently have available in the testing realm and what is yet to come.
Our next chat will be held on Tuesday, November 29, 2022 at 16:00 UTC in the #core-performance channel in Slack.