Unixbench系统性能测试工具
测试项目:
1、Dhrystone测试
测试聚焦在字符串处理,没有浮点运算操作。这个测试用于测试链接器编译、代码优化、内存缓存、等待状态、整数数据类型等,硬件和软件设计都会非常大的影响测试结果。
2、Whetstone 测试
这项测试项目用于测试浮点运算效率和速度。这项测试项目包含若干个科学计算的典型性能模块,包含大量的C语言函数,sin cos sqrt exp和日志以及使用整数和浮点的数学操作。包含数组访问、条件分支和过程调用。
3、Execl Throughput(execl 吞吐,这里的execl是类unix系统非常重要的函数,非办公软件的execl)测试
这项测试测试每秒execl函数调用次数。execl是 exec函数家族的一部分,使用新的图形处理代替当前的图形处理。有许多命令和前端的execve()函数命令非常相似。
4、File Copy测试
这项测试衡量文件数据从一个文件被传输到另外一个,使用大量的缓存。包括文件的读、写、复制测试,测试指标是一定时间内(默认是10秒)被重写、读、复制的字符数量。
5、Pipe Throughput(管道吞吐)测试
pipe是简单的进程之间的通讯。管道吞吐测试是测试在一秒钟一个进程写512比特到一个管道中并且读回来的次数。管道吞吐测试和实际编程有差距。
6、Pipe-based Context Switching (基于管道的上下文交互)测试
这项测试衡量两个进程通过管道交换和整数倍的增加吞吐的次数。基于管道的上下文切换和真实程序很类似。测试程序产生一个双向管道通讯的子线程。
7、Process Creation(进程创建)测试
这项测试衡量一个进程能产生子线程并且立即退出的次数。新进程真的创建进程阻塞和内存占用,所以测试程序直接使用内存带宽。这项测试用于典型的比较大量的操作系统进程创建操作。
8、Shell Scripts测试
shell脚本测试用于衡量在一分钟内,一个进程可以启动并停止shell脚本的次数,通常会测试1,2, 3, 4, 8 个shell脚本的共同拷贝,shell脚本是一套转化数据文件的脚本。
9、System Call Overhead (系统调用消耗)测试
这项测试衡量进入和离开系统内核的消耗,例如,系统调用的消耗。程序简单重复的执行getpid调用(返回调用的进程id)。消耗的指标是调用进入和离开内核的执行时间。
10、Graphical Tests(图形)测试
由”ubgears”程序组成,测试非常粗的2D和3D图形性能,尤其是3D测试非常有限。测试结果和硬件,系统合适的驱动关系很大。
源目录结构
pgms |
提供x11perf的前端程序和基准测试的基准分数,用于计算指标 |
results |
用于存放测试数据 |
src |
该目录为Unixbench测试程序 |
testdir |
测试素材 |
change |
5.1.3版本的改动点 |
Makefile |
编译文件 |
Readme |
使用说明和历史版本说明 |
Run |
运行Unixbench测试的脚本 |
USAGE |
使用手册 |
WRITING_TESTS |
编写测试说明 |
命令及参数说明
通常的命令执行格式:
Run [ -q | -v ] [-i <n> ] [-c <n> [-c <n> ...]] [test...]
可用参数说明
参数 |
描述 |
-q |
在安静模式下运行,无测试过程打印 |
-v |
在详细模式下运行,实时打印测试过程 |
-i |
对每个测试运行的迭代次数,使用<count>/3,但最小为1。默认为10(3表示慢测试) |
-c |
并行运行每个测试的副本,可以多次执行-c参数。例如:./Run -c 1 -c 4 |