In the world of consumer electronics, benchmarks are
everything. More than specs, or anecdotal accounts, and certainly more
than marketing materials, benchmarks give you meaningful information
about the capabilities of a given piece of hardware, be it a single
subsystem—like a PC’s GPU—or several subsystems in concert.
Unfortunately, many common benchmarks (especially those
built into games) only run in Windows. Cinebench, PCMark, 3DMark, and
CrystalDiskMark are popular Windows tests, but have no Linux equivalent.
If
you go out looking for PC benchmark results, there’s a very strong
chance the tests won’t perfectly translate to performance under Linux,
since they were likely run in Windows. This is particularly true if
certain hardware has limited support in the Linux kernel. However, there
are still plenty of tests you can run in Linux, and the vast majority
of them are free.
Testing in Linux
Linux users can find an easy-to-use test for their systems
in the Gnome Disks utility, which comes with both the Gnome 3 and
Ubuntu’s Unity desktops. Though the utility is most often used to
administer disk partitions and software RAID, it features a built-in
benchmark. It’s pretty basic, but will suffice for a general overview.
Simply search for Disks in Ubuntu’s dash (or Gnomes Activities panel) to find the utility.
A quick search for benchmark in Ubuntu’s
Software Center will yield a few interesting entries. The first will
likely be the System Profiler and Benchmark application. This program is
really useful for getting detailed system information via a GUI, but
the benchmarks are a bit lacking and not necessarily indicative of
real-world usage. There are six benchmarks total, all of which test the
CPU.
The Software Center list will also include individual tests.
These can be fine to use, but they can be tedious to open and configure
manually. Keep your eye out for an entry called Phoronix Test Suite, or
PTS for short. The Phoronix Test Suite is a powerful program that can
run a single test, or an entire battery. PTS offers some built-in suites
(collection of tests), or you can design your own suite. When tests are
completed, you can choose to upload the test results to openbenchmarking.org, where other users can see your results and even run the exact same tests on their PC.
The best part of PTS is the automation. Tests and suites are
all defined in XML files that you can edit as you see fit. If you mess
up while creating a custom suite on the command line, don’t worry about
it; you can simply open the suite XML file located in the folder ~/.phoronix-test-suite/test-suites/local.
When you run a test or suite for the first time, PTS will attempt to
fetch the test for you. If a test requires a dependency, PTS will let
you know, but will still allow you to continue. If the dependency is not
installed, the test that requires it will not run.
Testing with the Dell XPS 13 Developer Edition
To show off what PTS can do, I ran a custom suite of tests
on a 2015 Dell XPS 13 Developer Edition that came preloaded with Ubuntu
Desktop 14.04 LTS.
To create the suite, I first installed Phoronix Test Suite, which required the packages php5-cli and php5-gd. Once PTS was installed, I created my suite using the command phoronix-test-suite build-suite.
PTS presents a list of all the supported tests. Most of the tests are
free to use, but some require purchase (mostly retail games like BioShock: Infinite), which I avoided.
My completed suite consists of 10 tests (though some tests
run multiple times with different settings) that I felt reflect an
average desktop experience. For instance I chose IOZone to test the read
and write performance of storage devices; Unigen’s Heaven to test
graphics performance; RAMspeed for memory; various encoding and decoding
tests; a Linux kernal compilation; a test for file compression; and one
for encryption.
Once I added all of the tests I wanted, I saved and exited,
but left the terminal window open. Just to make sure everything was on
the up-and-up, I opened the XML file to look for typos or tests that I
might have added in error.
When everything checked out, I simply ran phoronix-test-suite run <suite name>.
On the first attempt, PTS let me know that I needed to fulfill some
dependencies, so I made sure to install the requisite packages. After
that, PTS was all set to run the tests.
If you’re interested, you can check out the final results at openbenchmarking.org.
Once you have your benchmark results, you can use them as a
baseline. When you swap hardware or make tweaks to your system settings,
run the exact same tests again to measure the impact of that change.
A few notes about benchmarking
Running benchmarks can seem straightforward at first, but
there are plenty of things that can throw off your results. First off,
it’s a good idea to keep a PC plugged in, as opposed to running on
battery; turn off any power-saving options; and turn off its hibernate
and sleep functions for the plugged-in power profile while running
tests. (The exception would be if you’re specifically performing a
battery run-down test.) It’s also a good idea to close any other open
applications to maximize the RAM and CPU resources available for
testing. If performing tests on your storage devices, make sure they
have ample free space for the test files.
If you prefer to run tests outside of the Phoronix Test
Suite, the important thing to remember is that the build of the test
software and the console command used to run it remain the same across
systems. Keeping copies of your test software and a list of the relevant
commands on an external hard drive will save boatloads of time when it
comes to testing, and will allow you to run tests on machines without an
internet connection (provided you have any necessary dependencies on
the drive as well). Always remember: Consistency is key to testing.
And finally, its always important to know what benchmarks
matter to you. If you’re a spreadsheet power user, you probably don’t
care about gaming performance, and vise-versa. Design your tests for
your needs, and you’ll gain better insight into just how well your
machine is working for you.
Post a Comment
Post a Comment