Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save westonruter/3c7b336cbf5167d471674fbd9bcf1112 to your computer and use it in GitHub Desktop.

Select an option

Save westonruter/3c7b336cbf5167d471674fbd9bcf1112 to your computer and use it in GitHub Desktop.

The two sites are running on LocalWP with PHP 8.2, MySQL 8, Nginx. They both have the theme unit test data installed. The Twenty Twenty-Five theme is active.

benchmark-server-timing on Sample Page

npm run research -- benchmark-server-timing --url=http://wp68.local/sample-page/ --url=http://wp69beta4.local/sample-page/ --number=100 --diff --output=md
URL http://wp68.local/sample-page/ http://wp69beta4.local/sample-page/ Diff (ms) Diff (%)
Success Rate 100% 100% -- --
Response Time (median) 16.8 17.53 +0.73 +4.3%
wp-before-template (median) 6.29 6.67 +0.38 +6.0%
wp-template (median) 9.32 9.62 +0.30 +3.2%
wp-total (median) 15.59 16.29 +0.70 +4.5%

benchmark-server-timing on homepage

👉 Why is the performance so much better in this context? The homepage is showing a lot of posts from the theme unit test data.

npm run research -- benchmark-server-timing --url=http://wp68.local/ --url=http://wp69beta4.local/ --number=100 --diff --output=md
URL http://wp68.local/ http://wp69beta4.local/ Diff (ms) Diff (%)
Success Rate 100% 100% -- --
Response Time (median) 284.69 46.27 -238.42 -83.7%
wp-before-template (median) 13.53 8.67 -4.86 -35.9%
wp-template (median) 268.65 35.63 -233.02 -86.7%
wp-total (median) 282.04 44.29 -237.75 -84.3%

benchmark-web-vitals on homepage (without Embeds post)

npm run research -- benchmark-web-vitals --url=http://wp68.local/ --url=http://wp69beta4.local/ --number=20 --network-conditions="broadband" --diff --output=md
URL http://wp68.local/ http://wp69beta4.local/ Diff (ms) Diff (%)
Success Rate 100% 100% -- --
FCP (median) 471.55 191.6 -279.95 -59.4%
LCP (median) 577.3 296.1 -281.20 -48.7%
TTFB (median) 304.4 86.45 -217.95 -71.6%
TTLB (median) 338.6 121.95 -216.65 -64.0%
LCP-TTFB (median) 270.6 211.2 -59.40 -22.0%

benchmark-web-vitals on block category common post

npm run research -- benchmark-web-vitals --url=http://wp68.local/block-category-common/ --url=http://wp69beta4.local/block-category-common/ --number=100 --network-conditions="broadband" --diff --output=md
URL http://wp68.local/block-category-common/ http://wp69beta4.local/block-category-common/ Diff (ms) Diff (%)
Success Rate 100% 100% -- --
FCP (median) 210.3 168.45 -41.85 -19.9%
LCP (median) 309.3 252 -57.30 -18.5%
TTFB (median) 50.25 51.9 +1.65 +3.3%
TTLB (median) 72.6 73.6 +1.00 +1.4%
LCP-TTFB (median) 259.3 198.65 -60.65 -23.4%

benchmark-web-vitals on Sample Page

npm run research -- benchmark-web-vitals --url=http://wp68.local/sample-page/ --url=http://wp69beta4.local/sample-page/ --number=100 --network-conditions="broadband" --diff --output=md
URL http://wp68.local/sample-page/ http://wp69beta4.local/sample-page/ Diff (ms) Diff (%)
Success Rate 100% 100% -- --
FCP (median) 145.7 95.95 -49.75 -34.1%
LCP (median) 244.8 197.25 -47.55 -19.4%
TTFB (median) 40.8 42.55 +1.75 +4.3%
TTLB (median) 68.7 69.2 +0.50 +0.7%
LCP-TTFB (median) 203 155.2 -47.80 -23.5%

wp profile stage --spotlight

WP 6.8

+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| stage      | time    | query_time | query_count | cache_ratio | cache_hits | cache_misses | hook_time | hook_count | request_time | request_count |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| bootstrap  | 0.1751s | 0.0017s    | 3           | 88.62%      | 109        | 14           | 0.0134s   | 4038       | 0s           | 0             |
| main_query | 0.0044s | 0.0033s    | 11          | 70.36%      | 178        | 75           | 0.0003s   | 289        | 0s           | 0             |
| template   | 0.3446s | 0.0263s    | 62          | 91.41%      | 2991       | 281          | 0.3207s   | 23990      | 0.2103s      | 1             |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| total (3)  | 0.5241s | 0.0313s    | 76          | 83.46%      | 3278       | 370          | 0.3344s   | 28317      | 0.2103s      | 1             |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+

WP 6.9-beta4

+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| stage      | time    | query_time | query_count | cache_ratio | cache_hits | cache_misses | hook_time | hook_count | request_time | request_count |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| bootstrap  | 0.1766s | 0.0017s    | 3           | 88.71%      | 110        | 14           | 0.0129s   | 4166       | 0s           | 0             |
| main_query | 0.0047s | 0.0036s    | 11          | 70.36%      | 178        | 75           | 0.0003s   | 289        | 0s           | 0             |
| template   | 0.0941s | 0.016s     | 54          | 91.18%      | 2914       | 282          | 0.0747s   | 24640      | 0s           | 0             |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| total (3)  | 0.2755s | 0.0213s    | 68          | 83.42%      | 3202       | 371          | 0.0879s   | 29095      | 0s           | 0             |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+

wp profile hook --all --spotlight

WP 6.8

+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| callback                          | location                                  | time    | query_time | query_count | cache_ratio | cache_hits | cache_misses | request_time | request_count |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| _register_theme_block_patterns()  | wp-includes/block-patterns.php:349        | 0.0013s | 0.0005s    | 1           | 70%         | 14         | 6            | 0s           | 0             |
| wp_render_layout_support_flag()   | wp-includes/block-supports/layout.php:570 | 0.0037s | 0.0001s    | 1           | 100%        | 0          | 0            | 0s           | 0             |
| WP_Embed->autoembed()             | wp-includes/class-wp-embed.php:442        | 0.0025s | 0.0011s    | 5           | 71.43%      | 0          | 0            | 0s           | 0             |
| do_blocks()                       | wp-includes/blocks.php:2406               | 0.2928s | 0.0224s    | 32          | 89.31%      | 1170       | 140          | 0.2128s      | 1             |
| do_shortcode()                    | wp-includes/shortcodes.php:243            | 0.0041s | 0.0008s    | 2           | 97.26%      | 71         | 2            | 0s           | 0             |
| wp_filter_content_tags()          | wp-includes/media.php:1872                | 0.0068s | 0.0021s    | 4           | 100%        | 0          | 0            | 0s           | 0             |
| _override_custom_logo_theme_mod() | wp-includes/blocks/site-logo.php:130      | 0.0002s | 0.0001s    | 1           | 100%        | 2          | 0            | 0s           | 0             |
| wp_enqueue_scripts()              | wp-includes/script-loader.php:2293        | 0.0095s | 0.0001s    | 1           | 97.58%      | 121        | 3            | 0s           | 0             |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| total (8)                         |                                           | 0.3208s | 0.0273s    | 47          | 90.7%       | 1378       | 151          | 0.2128s      | 1             |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+

WP 6.9-beta4

+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| callback                          | location                                  | time    | query_time | query_count | cache_ratio | cache_hits | cache_misses | request_time | request_count |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| _register_theme_block_patterns()  | wp-includes/block-patterns.php:349        | 0.0012s | 0.0005s    | 1           | 70%         | 14         | 6            | 0s           | 0             |
| wp_default_packages()             | wp-includes/script-loader.php:661         | 0.0006s | 0.0001s    | 1           | 95.83%      | 23         | 1            | 0s           | 0             |
| wp_render_layout_support_flag()   | wp-includes/block-supports/layout.php:570 | 0.0034s | 0.0001s    | 1           | 100%        | 0          | 0            | 0s           | 0             |
| WP_Embed->autoembed()             | wp-includes/class-wp-embed.php:442        | 0.0025s | 0.0011s    | 5           | 71.43%      | 0          | 0            | 0s           | 0             |
| do_blocks()                       | wp-includes/blocks.php:2441               | 0.0444s | 0.0099s    | 24          | 89.13%      | 1132       | 138          | 0s           | 0             |
| do_shortcode()                    | wp-includes/shortcodes.php:243            | 0.0013s | 0.0004s    | 2           | 97.26%      | 71         | 2            | 0s           | 0             |
| wp_filter_content_tags()          | wp-includes/media.php:1886                | 0.0067s | 0.0022s    | 4           | 100%        | 0          | 0            | 0s           | 0             |
| _override_custom_logo_theme_mod() | wp-includes/blocks/site-logo.php:130      | 0.0002s | 0.0001s    | 1           | 100%        | 2          | 0            | 0s           | 0             |
| wp_enqueue_scripts()              | wp-includes/script-loader.php:2305        | 0.0025s | 0s         | 0           | 96.67%      | 58         | 2            | 0s           | 0             |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| total (9)                         |                                           | 0.0627s | 0.0145s    | 39          | 91.15%      | 1300       | 149          | 0s           | 0             |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment