Developed By:

Developed By:

Saturday, June 21, 2008

Phoronix Test Suite brings Linux benchmarking to the desktop

Despite a variety of open source testing tools, until recently there wasn't an easy way to measure and compare the performance of two Linux-powered machines. Phoronix Test Suite (PTS), released this month, addresses this -- and how! Using the suite you can gauge and compare multiple Linux-powered machines to find out if a particular setup is better than another for a particular task, such as hosting a Web server or playing games.

PTS is developed by Phoronix Media, which also owns Phoronix.com, a site popular for its Linux-based hardware reviews and analysis. The tool is available for download as a source tarball as well as a precompiled binary for Ubuntu and Debian. It has minimal dependencies and detailed installation instructions.

The tool comes with 57 tests which are logically grouped into 23 suites. So, for example, you can benchmark the performance of Ogg encoding on your system by running the encode-ogg test, or run the audio-encoding suite of tests, which benchmarks MP3, Ogg, FLAC, APE, and WavPack encoding. There are tests and test suites that can help you assess the performance of your computer for computational biology, gaming, GUI toolkits, audio and video encoding, building Apache, running PHP, compiling the Linux kernel, and more. Since the PTS is what Phoronix uses for its reviews as well, the package also contains a few Phoronix Certification and Qualification Suites (designed by Phoronix for use in their reviews) that test the graphics and motherboards on your desktops and servers.

PTS is a command-line tool, and is well documented and easy to use. Once you have it installed, you can assess your computer's gaming performance, for instance, by running the command benchmark gaming. This will automatically fetch all the tests in the gaming suite, compile and install them, then run the test. To make sure it has the undivided attention of the processor, PTS temporarily turns off ambient services such as power management and screensaver while the tests are running.

All tests performed by PTS need a unique global identifier to individually identify each test. When a test is completed, PTS expresses the result in numbers in the command-line interface. If you prefer simple bar graphs, you can also have it display its results in a browser. In addition to displaying information about the benchmark (the type of test and what the numbers mean), PTS also records and displays details about the hardware (processor, motherboard, chipset, memory, disk space, graphics, screen resolution) and software (OS, kernel, X.Org server, OpenGL, compiler, file system) on which the test was run, along with details like the date and time the test was run, and by which user, and what additional applications were running at the time.

Perhaps the neatest thing about PTS is the online PTS Global service, which is a repository of tests performed by PTS users all over the world. You get the option to upload your test results to PTS Global after every test is completed. Test results are listed by their time of upload, and you can search the results with a basic search interface to find tests performed on a particular motherboard, processor, graphics chipset, or running a particular distro, kernel, or compiler.

But PTS Global isn't just a collection of results. You can ask PTS to run a test on your machine and compare it with a particular benchmark on the PTS Global Web site. So, if you want to check how your desktop running Fedora compares with another similar spec (same processor, RAM, motherboard, chipset) machine running Ubuntu, while compiling the Linux kernel, you can use the search interface to find such a machine and then simply use its global identifier to run the same test on your machine and get comparative numbers. For example, if you want to compare your machine with a machine whose global identifer is root-9170-30463-10839, all you need to do is run the command phoronix-test-suite benchmark root-9170-30463-10839. That command will fetch, compile, and run the test on your computer and display the result in comparison with the one fetched from PTS Global.

PTS is a useful, easy-to-use, and well-documented application for all types of Linux users. As a reviewer it will help me back up my results with numbers. So while I find out how Fedora and Ubuntu perform in a virtualized environment, click to the next page for an interview with Michael Larabel, who owns Phoronix and is also the lead developer of PTS, in which he explains the motivation behind the project, the interest shown by hardware and software vendors, and upcoming developments.