Home Command line utilities UnixBench – A Benchmark Suite For Unix-like Systems

UnixBench – A Benchmark Suite For Unix-like Systems

By sk
Published: Last Updated on 12.3K views

A while ago, We have reviewed Phoronix, an open source testing and benchmarking platform. In this guide, we will see yet another benchmarking suite called UnixBench. It is the original BYTE UNIX benchmark suite, updated and revised by many people over the years. The main purpose of this tool is to provide a basic indicator of the performance of a Unix-like operating system. UnixBench can be used to evaluate the performance of your system when running a single or multiple tasks. Please be mindful that this is a system benchmarking tool, not just a CPU, RAM or disk benchmark tool. The results will depend not only on your hardware, but also on your operating system, libraries, and even compiler.

Unixbench will do the following benchmark tests on your system.

  • Dhrystone - Used to measure and compare the performance of computers.
  • Whetstone - Used to measure the speed and efficiency of floating-point operations.
  • execl Throughput - Used to measure the number of execl calls that can be performed per second.
  • File Copy - Used to measure the rate at which data can be transferred from one file to another.
  • Pipe Throughput - the number of times (per second) a process can write 512 bytes to a pipe and read them back.
  • Pipe-based Context Switching - Used to measure the number of times two processes can exchange an increasing integer through a pipe.
  • Process Creation - Used to measure the number of times a process can fork and reap a child that immediately exits.
  • Shell Scripts - Used to measure the number of times per minute a process can start and reap a set of eight concurrent copies of a shell scripts where the shell script applies a series of transformation to a data file.
  • System Call Overhead - Used to estimates the cost of entering and leaving the operating system kernel.
  • Graphical Tests - Used to provide an idea of the system's 2D and 3D graphics performance.

Installing and using Unixbench On Linux

UnixBench is available in AUR, so you can install it on Arch Linux and its derivatives like Manjaro Linux, Antergos using AUR helpers.

Using Yay:

$ yay -S unixbench

On other Linux distributions, you need to compile and install UnixBench manually as shown below.

On CentOS, RHEL, Fedora:

$ sudo yum -y install gcc gcc-c++ make libXext-devel perl perl-Time-HiRes git
$ sudo yum -y groupinstall "Development Tools"
$ sudo yum -y install libX11-devel mesa-libGL-devel perl-Time-HiRes

On Debian, Ubuntu, Linux Mint:

$ sudo apt-get install libx11-dev libgl1-mesa-dev libxext-dev perl perl-modules make git

After installing the necessary prerequisites, git clone UnixBench repository using command:

$ git clone https://github.com/kdlucas/byte-unixbench.git

Go to unixbench directory:

$ cd byte-unixbench/UnixBench/

Then, run the following command to start benchmarking your system.

$ ./Run

If you have installed UnixBench from AUR on Arch Linux, run the following command to launch it.

$ ubench

Sample output would be:

Version 5.1.3 Based on the Byte Magazine Unix Benchmark

Multi-CPU version Version 5 revisions by Ian Smith,
 Sunnyvale, CA, USA
 January 13, 2011 johantheghost at yahoo period com

1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput 1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3

1 x File Copy 256 bufsize 500 maxblocks 1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3

1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10

1 x Process Creation 1 2 3

1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent) 1 2 3

1 x Shell Scripts (8 concurrent) 1 2 3

4 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10

4 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10

4 x Execl Throughput 1 2 3

4 x File Copy 1024 bufsize 2000 maxblocks 1 2 3

4 x File Copy 256 bufsize 500 maxblocks 1 2 3

4 x File Copy 4096 bufsize 8000 maxblocks 1 2 3

4 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10

4 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10

4 x Process Creation 1 2 3

4 x System Call Overhead 1 2 3 4 5 6 7 8 9 10

4 x Shell Scripts (1 concurrent) 1 2 3

4 x Shell Scripts (8 concurrent) 1 2 3

========================================================================
 BYTE UNIX Benchmarks (Version 5.1.3)

System: sk: GNU/Linux
 OS: GNU/Linux -- 4.10.10-1-ARCH -- #1 SMP PREEMPT Wed Apr 12 18:50:28 CEST 2017
 Machine: x86_64 (unknown)
 Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
 CPU 0: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (4591.9 bogomips)
 Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
 CPU 1: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (4592.1 bogomips)
 Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
 CPU 2: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (4593.8 bogomips)
 Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
 CPU 3: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz (4592.2 bogomips)
 Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
 13:09:04 up 1:56, 1 user, load average: 0.55, 0.37, 0.42; runlevel unknown

------------------------------------------------------------------------
Benchmark Run: Wed Apr 19 2017 13:09:04 - 13:38:10
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 19547861.3 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2321.8 MWIPS (13.9 s, 7 samples)
Execl Throughput 2982.7 lps (29.5 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 493713.2 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 150353.3 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 760514.6 KBps (30.1 s, 2 samples)
Pipe Throughput 1128068.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 97761.1 lps (10.0 s, 7 samples)
Process Creation 4560.7 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 1802.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 476.7 lpm (60.1 s, 2 samples)
System Call Overhead 1752928.0 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 19547861.3 1675.1
Double-Precision Whetstone 55.0 2321.8 422.2
Execl Throughput 43.0 2982.7 693.6
File Copy 1024 bufsize 2000 maxblocks 3960.0 493713.2 1246.8
File Copy 256 bufsize 500 maxblocks 1655.0 150353.3 908.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 760514.6 1311.2
Pipe Throughput 12440.0 1128068.6 906.8
Pipe-based Context Switching 4000.0 97761.1 244.4
Process Creation 126.0 4560.7 362.0
Shell Scripts (1 concurrent) 42.4 1802.4 425.1
Shell Scripts (8 concurrent) 6.0 476.7 794.5
System Call Overhead 15000.0 1752928.0 1168.6
 ========
System Benchmarks Index Score 730.4

------------------------------------------------------------------------
Benchmark Run: Wed Apr 19 2017 13:38:10 - 14:07:31
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables 27193072.8 lps (10.0 s, 7 samples)
Double-Precision Whetstone 4985.4 MWIPS (16.4 s, 7 samples)
Execl Throughput 4453.8 lps (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 340833.2 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 74310.1 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 886922.2 KBps (30.0 s, 2 samples)
Pipe Throughput 1467621.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 324277.3 lps (10.0 s, 7 samples)
Process Creation 10722.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2893.2 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 400.8 lpm (60.2 s, 2 samples)
System Call Overhead 2750243.4 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 27193072.8 2330.2
Double-Precision Whetstone 55.0 4985.4 906.4
Execl Throughput 43.0 4453.8 1035.8
File Copy 1024 bufsize 2000 maxblocks 3960.0 340833.2 860.7
File Copy 256 bufsize 500 maxblocks 1655.0 74310.1 449.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 886922.2 1529.2
Pipe Throughput 12440.0 1467621.9 1179.8
Pipe-based Context Switching 4000.0 324277.3 810.7
Process Creation 126.0 10722.5 851.0
Shell Scripts (1 concurrent) 42.4 2893.2 682.4
Shell Scripts (8 concurrent) 6.0 400.8 668.0
System Call Overhead 15000.0 2750243.4 1833.5
 ========
System Benchmarks Index Score 989.4

The benchmark score will be displayed at the end of the result.

And, that's all for now. Hope you find this useful. If you like our work, please share our guides on your social, professional networks and support OSTechNix.

Cheers!

Resource:

Thanks for stopping by!

Help us to help you:

Have a Good day!!

You May Also Like

1 comment

Titouan May 24, 2020 - 3:58 am

Is there a page where we can find benchmark results from different systems ?

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More