Self-hosted service
phoronix-test-suite/phoronix-test-suite avatar
phoronix-test-suite/phoronix-test-suite

Phoronix Test Suite: Automated Benchmarking for Linux, BSD, macOS and Windows

The Phoronix Test Suite open-source, cross-platform automated testing/benchmarking software.

3,145 stars438 forksPHPGPL-3.0

At a glance

What is it?
Phoronix Test Suite is a PHP-driven framework that installs, runs and reports reproducible benchmarks from OpenBenchmarking.org. It is strongest on Linux, and its last push was on 2022-07-03.
Who is it for?
Adopt it if you need reproducible, scriptable benchmarks on Linux and are comfortable with a project whose last push was on 2022-07-03. Do not adopt it if you need a maintained release cadence or first-class non-Linux coverage, because the README itself notes some non-basic functionality is unavailable on other platforms.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 10 days ago.
What is it written in?
Mainly PHP, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Phoronix Test Suite solves, and for whom

Running a benchmark by hand means downloading a source tree, resolving build dependencies, picking flags, and writing down the result somewhere. Repeat that across a dozen tests and two machines and the numbers stop being comparable. Phoronix Test Suite exists to remove that work: the README describes it as a platform that carries out tests in a fully automated manner from installation through execution and reporting, with the stated goal that tests be easily reproducible. The audience is engineers and reviewers who need the same workload executed the same way on more than one system, and who want the output stored rather than pasted into a spreadsheet. The framework is written in PHP and licensed under GPLv3. It is not a single benchmark; it is the machinery around a catalogue of them. That distinction matters when you evaluate it, because the quality of any individual number depends on the test profile you selected, not on the framework alone.

Test profiles, test suites and the OpenBenchmarking.org catalogue

The unit of work is a test profile: one test with a set of options, implemented as shell scripts plus XML files. A test suite is a single XML file that groups test profiles or other suites. The README states that more than 600 individual test profiles and more than 200 test suites are available by default through OpenBenchmarking.org, the collaborative storage platform developed alongside the suite. Results can be uploaded there as well, which is how the side-by-side comparison feature gets its data. The design is deliberately extensible: adding a benchmark means writing a profile, not patching the framework. That is the strongest argument for the architecture. The trade-off is that profile quality is uneven by nature, since each one is a separate set of scripts with its own build and runtime assumptions, and the README notes that not all profiles and suites are compatible with all CPU architectures even though the framework itself supports i686, x86_64, ARM, RISC-V and POWER 64-bit.

Installing Phoronix Test Suite on Ubuntu and other Linux systems

The only hard dependency is command-line PHP, version 5.3 or newer. A full PHP stack with a web server is not required. The README says the package is widely available from operating system package managers under names such as php, php7-cli, php5-cli, php7 or php8. After that, the suite can be installed system-wide or run locally from an extracted tar.gz or zip package without installation. The repository ships install-sh and install.bat for the two scripted paths. Once it is on the PATH, the first real use is a single command that downloads, builds, runs and reports a CPU test:

bash
phoronix-test-suite benchmark smallpt

The README gives smallpt as its example of a simple CPU test profile. Expect the command to spend most of its time fetching and compiling the test before any measurement happens. To separate those phases, install and run are available individually:

bash
phoronix-test-suite install smallpt
phoronix-test-suite run smallpt

To check what the framework detects before you benchmark anything, run system-info:

bash
phoronix-test-suite system-info

That command prints the installed hardware and software the suite can see, which is the quickest way to confirm the machine is being read correctly.

Batch mode, regression testing and Phoromatic

Interactive prompts are the default, which is wrong for CI. Batch mode removes them: run batch-setup once to record the answers, then use batch-run instead of run. The README states there is also an integration path with git-bisect and other revision control systems for per-commit regression testing, plus system sensor monitoring. Phoromatic is the multi-machine layer: a web interface for driving Phoronix Test Suite clients on a timed, per-commit or other trigger-driven schedule, described in the README as designed for enterprise management of networked systems. This is where the project's scope becomes clear. It is not just a benchmark runner; it is a scheduling and collection system, and the value grows with the number of machines you point at it. A single workstation gains little from Phoromatic. A lab with ten identical machines under test gains a lot.

Where Phoronix Test Suite is the wrong tool

Portability is the first limit. The README is explicit that Linux is the most full-featured and well supported operating system for conducting tests, and that some non-basic functionality is not available under all platforms. If your target is Windows or macOS, treat the framework as usable but the coverage as partial, and verify the specific profile you need before planning around it. The second limit is maintenance. The last push to the repository was on 2022-07-03, and the most recent release listed is v10.8.4 from the same date. That is not a project you should expect to receive fixes for a broken profile or a new distribution's packaging quirks. The third limit is scope: this measures performance and pass/fail outcomes. It is not a correctness test framework, and the README frames profiles as representing performance benchmarks, unit tests and other quantitative or qualitative measurements, which means quality depends entirely on which profile you picked. If you need a small, self-contained benchmark you can read end to end in an afternoon, the framework is more machinery than the job requires.

How it compares with a single-purpose benchmark

The realistic alternative is not another benchmarking platform but a single benchmark you build and run yourself, such as a compiler benchmark or a ray tracer compiled from source with fixed flags. The difference is in what gets standardized. A hand-rolled benchmark standardizes nothing beyond your own script; you own the build, the flags and the result format. Phoronix Test Suite standardizes all three through the profile format and OpenBenchmarking.org, and it adds a result store you can compare against other people's submissions. The cost is a PHP runtime, a profile download step, and a dependency on a catalogue whose individual entries you did not write and cannot easily audit without reading shell scripts. For a one-off measurement on one machine, the hand-rolled benchmark is less work. For repeated measurements across machines or over time, the framework's standardization is the reason to accept the overhead.

Licence and the cost of staying current

The project is licensed under GNU GPLv3, and the README states it is developed by Phoronix Media in cooperation with partners. Running the suite internally does not create obligations beyond the licence terms, but redistributing a modified version does bring GPLv3 conditions into play; that is a general property of the licence, not legal advice, and your counsel should read the terms. On upgrade cost, the picture is simple and slightly uncomfortable: the last push was on 2022-07-03, so there is no steady stream of fixes to track. The practical cost is not upgrading, it is that new distribution releases, new compilers and new hardware may not be reflected in the profiles or in the framework's detection code. Budget time for reading and possibly patching profile scripts when a test fails to build on a current system, and check the ChangeLog and release-highlights.md in the repository before assuming a given behaviour changed in a version you are moving to.

Editorial conclusion

Adopt it if you need reproducible, scriptable benchmarks on Linux and are comfortable with a project whose last push was on 2022-07-03. Do not adopt it if you need a maintained release cadence or first-class non-Linux coverage, because the README itself notes some non-basic functionality is unavailable on other platforms. Before committing, verify that PHP CLI is installed on the target machines and run phoronix-test-suite system-info to confirm the suite can see the hardware you intend to measure.

Frequently asked questions

Is the Phoronix Test Suite good?

It is good at what it standardizes: automated installation, execution and reporting of reproducible tests, with more than 600 test profiles and more than 200 suites available by default through OpenBenchmarking.org. The caveat is that Linux is the most full-featured platform and the last push to the repository was on 2022-07-03, so individual profiles may need attention on current systems.

How to run Phoronix Test Suite?

The README gives phoronix-test-suite benchmark smallpt as the simplest path, which downloads, installs, executes and reports a CPU test in one command. You can also split it with phoronix-test-suite install followed by phoronix-test-suite run, and use batch-setup plus batch-run for non-interactive execution.

How do I install Phoronix Test Suite on Ubuntu?

The only hard dependency is command-line PHP 5.3 or newer, available from package managers under names such as php-cli. After that, the suite can be installed system-wide via install-sh or run locally from an extracted tar.gz or zip package without installation.

How to use Phoronix Test Suite on Windows?

The suite is supported on Windows and the repository includes install.bat and phoronix-test-suite.bat. The README warns that some non-basic functionality is not available on all platforms and that Linux is the most well supported system for conducting tests, so check the specific profile you need.

How to install Phoronix Test Suite on Arch?

The README does not name Arch specifically. It states the only hard dependency is command-line PHP 5.3 or newer, available from operating system package managers under names such as php, php7-cli, php5-cli, php7 or php8, after which the suite installs system-wide via install-sh or runs from an extracted package.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/phoronix-test-suite-phoronix-test-suite.svg)](https://hysenlabs.com/projects/phoronix-test-suite-phoronix-test-suite)