Skip to content

Comparing performance between two WordPress core releases with benchmarking

License

Notifications You must be signed in to change notification settings

adamsilverstein/compare-wp-performance

 
 

Repository files navigation

compare-wp-performance

Easily compare performance between two WordPress core releases with benchmarking.

Based on this document and the handbook entry on benchmarking WordPress PHP performance, this repository provides a GitHub Action to automate this process.

Usage

Manually

Run the following command in the terminal:

./run.sh [old=latest] [new=trunk] [skip_init=false] [output=markdown] [skip_formatting=false] [print_to_files=false]

By default, it compares the latest stable release with the current trunk version. So ./run.sh is the same as ./run.sh latest trunk.

You can choose different versions of course. For example, to compare with the current RC:

./run.sh latest 6.3-branch

To skip the initialization steps when you want to run the benchmarks multiple times after another:

./run.sh latest trunk true

To test a specific WP version by ZIP file:

./run.sh latest https://wordpress.org/wordpress-6.3-RC2.zip

The default output is as Markdown tables. To get output data as CSV without formatted numbers:

./run.sh latest trunk false csv true

To pipe that output into (CSV) files:

./run.sh latest trunk false csv true true

This will result in four CSV files with the individual table results.

GitHub Actions

This repository provides a GitHub Action to compare benchmarks of two separate WordPress versions.

The results are posted as a job summary.

By default, it compares the latest stable release with the current trunk version. You can choose different versions of course.

Screenshot of the GitHub Actions UI to run the benchmark workflow

Note: if you do not have access to run GitHub Action in this repository, you can fork it.

About

Comparing performance between two WordPress core releases with benchmarking

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.4%
  • JavaScript 38.7%
  • PHP 8.9%