What is Unixbench?
Unixbench is a set of UNIX system benchmark suite. Unixbench's design goal is to provide a set of basic metrics for UNIX-like systems, so there are a number of project test system performance. Each test has a score, then a comprehensive score, which can be easily compared through the score.
The Unixbench also contains some very simple 2D and 3D graphics tests.
Unixbench also supports multiple CPU system testing, the default behavior is to test two times, the first is a process test, the second is n test, n is equal to the number of CPUs. This design is for the following purposes:
Single-task performance of test system
Multi-task performance of test system
Ability to test system parallel processing
Unixbench A system based benchmarking tool, not simply CPU memory or disk test tools. Test results depend not only on the hardware, but also on the system, the development library, or even the compiler.
Test Project
Dhrystone test
The test focus is on string processing and there is no floating-point operation. This test is designed to test linker compilation, code optimization, memory caching, wait states, Integer data types, and so on, and hardware and software design will greatly affect the test results.
Whetstone Test
This test project is used to test the efficiency and speed of floating-point operations. This test project contains a number of typical performance modules for scientific calculations, including a large number of C language functions, sin cos sqrt exp and logs, and mathematical operations using integers and floating-point numbers. Contains array access, conditional branching, and procedure calls.
Execl throughput (Execl Huff and puff, where execl is a very important function of Unix-like systems, the execl of non-office software) tests
This test tests the number of EXECL function calls per second. Execl is part of the EXEC function family and replaces the current graphics processing with new graphics processing. There are many commands that are very similar to the EXECVE () function commands on the front end.
File Copy Test
This test measures file data from one file to another, using a lot of caching. Includes read, write, and copy tests of files, and test metrics are the number of characters that are rewritten, read, and copied within a certain period of time (the default is 10 seconds).
Pipe throughput (pipeline throughput) test
Pipe is a simple process of communication between. The pipeline throughput test is a test that writes 512 bits into a pipe in one second and reads it back again.
Number. There is a gap between pipeline throughput testing and actual programming.
pipe-based Context Switching (pipe-based contextual interaction) test
This test measures the number of times that two processes increase throughput through pipeline swapping and integer multiplication. The context switch based on the pipeline is similar to the real program. The test program produces a child thread for two-way pipe communication.
Process creation (progress creation) test
This test measures the number of times a process can produce child threads and exit immediately. The new process really creates process blocking and memory footprint, so the test program uses memory bandwidth directly. This test is typically used to compare a large number of operating system process creation operations.
Shell Scripts Test
The shell script test is used to measure the number of times a process can start and stop a shell script in a minute, typically by testing a common copy of 1, 2, 3, 4, 8 shell scripts, which is a set of scripts that transform data files.
System call overhead (systems invoke consumption) test
This test measures the cost of entering and leaving the kernel of the system, such as the consumption of system calls. The program simply repeats the execution of the GETPID call (the process ID that returns the call). The consumption metric is the execution time when the call enters and leaves the kernel.
Graphical Tests (graphics) test
Composed of "ubgears" programs that test very coarse 2D and 3D graphics performance, especially 3D testing is very limited. The test results are very much related to the hardware and the appropriate driver of the system.
Unixbench Installation
The code is as follows:
wget http://byte-unixbench.googlecode.com/files/unixbench-5.1.2.tar.gz
Tar Xvfz unixbench-5.1.2.tar.gz
CD unixbench-5.1.2
If you don't need to test the graphics, comment out the line for the makefile file
The code is as follows:
#GRAPHIC_TESTS = defined
Run
The code is as follows:
./run
Test results
The code is as follows:
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.2 Based on the Byte Magazine Unix Benchmark
MULTI-CPU version version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
December 2007 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 maxblocks 1 2 3
1 x File Copy 256 bufsize 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
========================================================================
BYTE UNIX Benchmarks (Version 5.1.2)
System:localhost.localdomain:gnu/linux
Os:gnu/linux--3.10.0-123.8.1.el7.x86_64--#1 SMP Mon Sep 19:06:58 UTC 2014
Machine:x86_64 (x86_64)
Language:en_US.utf8 (charmap= "UTF-8", collate= "UTF-8")
CPU 0:intel (R) Xeon (r) CPU X5650 @ 2.67GHz (5331.8 bogomips)
x86-64, MMX, Physical address Ext, Sysenter/sysexit, Syscall/sysret, Intel virtualization
08:24:54 up 1 day, 2:11, 1 user, load average:0.00, 0.01, 0.05; RunLevel 3
------------------------------------------------------------------------
Benchmark run:wed Nov 12 2014 08:24:54-08:52:53
1 CPU in System; Running 1 parallel copy of tests
Dhrystone 2 Using Register variables 28890881.0 LPs (10.0 s, 7 samples)
Double-precision Whetstone 3880.4 Mwips (9.0 s, 7 samples)
Execl Throughput 4146.3 LPs (30.0 S, 2 samples)
File Copy 1024 bufsize maxblocks 1051084.3 KBps (30.0 S, 2 samples)
File Copy 256 bufsize maxblocks 286552.2 KBps (30.0 S, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 2142638.4 KBps (30.0 S, 2 samples)
Pipe Throughput 1726807.0 LPs (10.0 s, 7 samples)
pipe-based context switching 322865.5 LPs (10.0 s, 7 samples)
Process creation 13662.4 LPs (30.0 S, 2 samples)
Shell Scripts (1 concurrent) 5955.4 LPM (60.0 S, 2 samples)
Shell Scripts (8 concurrent) 713.1 LPM (60.0 S, 2 samples)
System Call Overhead 2138318.1 LPs (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE result index
Dhrystone 2 Using Register variables 116700.0 28890881.0 2475.7
Double-precision Whetstone 55.0 3880.4 705.5
Execl Throughput 43.0 4146.3 964.2
File Copy 1024 bufsize maxblocks 3960.0 1051084.3 2654.3
File Copy 256 bufsize maxblocks 1655.0 286552.2 1731.4
File Copy 4096 bufsize 8000 maxblocks 5800.0 2142638.4 3694.2
Pipe Throughput 12440.0 1726807.0 1388.1
pipe-based context switching 4000.0 322865.5 807.2
Process creation 126.0 13662.4 1084.3
Shell Scripts (1 concurrent) 42.4 5955.4 1404.6
Shell Scripts (8 concurrent) 6.0 713.1 1188.4
System call overhead 15000.0 2138318.1 1425.5
========
System Benchmarks Index Score 1444.7