# byte-unixbench
**UnixBench** is the original BYTE UNIX benchmark suite, updated and revised by many people over the years.
The purpose of UnixBench is to provide a basic indicator of the performance of a Unix-like system; hence, multiple
tests are used to test various aspects of the system's performance. These test results are then compared to the
scores from a baseline system to produce an index value, which is generally easier to handle than the raw scores.
The entire set of index values is then combined to make an overall index for the system.
Some very simple graphics tests are included to measure the 2D and 3D graphics performance of the system.
Multi-CPU systems are handled. If your system has multiple CPUs, the default behaviour is to run the selected tests
twice -- once with one copy of each test program running at a time, and once with N copies, where N is the number of
CPUs. This is designed to allow you to assess:
* the performance of your system when running a single task
* the performance of your system when running multiple tasks
* the gain from your system's implementation of parallel processing
Do be aware that this is a system benchmark, not a CPU, RAM or disk benchmark. The results will depend not only on
your hardware, but on your operating system, libraries, and even compiler.
## History
**UnixBench** was first started in 1983 at Monash University, as a simple synthetic benchmarking application. It
was then taken and expanded by **Byte Magazine**. Linux mods by Jon Tombs, and original authors Ben Smith,
Rick Grehan, and Tom Yager. The tests compare Unix systems by comparing their results to a set of scores set
by running the code on a benchmark system, which is a SPARCstation 20-61 (rated at 10.0).
David C. Niemi maintained the program for quite some time, and made some major modifications and updates,
and produced **UnixBench 4**. He later gave the program to Ian Smith to maintain. Ian subsequently made
some major changes and revised it from version 4 to version 5.
Thanks to Ian Smith for managing the release up to 5.1.3. As of the next release (5.2), [Anthony F. Voellm](https://github.com/voellm) is going to help maintain the code base. The releases will happen once there are enough pull requests to warrant a new release.
The general process will be the following:
* Open a bug announcing that a new release will happen.
* Everything on the `dev` branch will be run.
* Code will move from the `dev` branch into `main` and be tagged. Bug fix releases with increment the subversion and major functionality changes will increase the major version.
## Included Tests
UnixBench consists of a number of individual tests that are targeted at specific areas. Here is a summary of what
each test does:
### Dhrystone
Developed by Reinhold Weicker in 1984. This benchmark is used to measure and compare the performance of computers. The test focuses on string handling, as there are no floating point operations. It is heavily influenced by hardware and software design, compiler and linker options, code optimization, cache memory, wait states, and integer data types.
### Whetstone
This test measures the speed and efficiency of floating-point operations. This test contains several modules that are meant to represent a mix of operations typically performed in scientific applications. A wide variety of C functions including `sin`, `cos`, `sqrt`, `exp`, and `log` are used as well as integer and floating-point math operations, array accesses, conditional branches, and procedure calls. This test measure both integer and floating-point arithmetic.
### `execl` Throughput
This test measures the number of `execl` calls that can be performed per second. `execl` is part of the exec family of functions that replaces the current process image with a new process image. It and many other similar commands are front ends for the function `execve()`.
### File Copy
This measures the rate at which data can be transferred from one file to another, using various buffer sizes. The file read, write and copy tests capture the number of characters that can be written, read and copied in a specified time (default is 10 seconds).
### Pipe Throughput
A pipe is the simplest form of communication between processes. Pipe throughput is the number of times (per second) a process can write 512 bytes to a pipe and read them back. The pipe throughput test has no real counterpart in real-world programming.
### Pipe-based Context Switching
This test measures the number of times two processes can exchange an increasing integer through a pipe. The pipe-based context switching test is more like a real-world application. The test program spawns a child process with which it carries on a bi-directional pipe conversation.
### Process Creation
This test measure the number of times a process can fork and reap a child that immediately exits. Process creation refers to actually creating process control blocks and memory allocations for new processes, so this applies directly to memory bandwidth. Typically, this benchmark would be used to compare various implementations of operating system process creation calls.
### Shell Scripts
The shells scripts test measures the number of times per minute a process can start and reap a set of one, two, four and eight concurrent copies of a shell scripts where the shell script applies a series of transformation to a data file.
### System Call Overhead
This estimates the cost of entering and leaving the operating system kernel, i.e., the overhead for performing a system call. It consists of a simple program repeatedly calling the `getpid` (which returns the process id of the calling process) system call. The time to execute such calls is used to estimate the cost of entering and exiting the kernel.
### Graphical Tests
Both 2D and 3D graphical tests are provided; at the moment, the 3D suite in particular is very limited, consisting of the `ubgears` program. These tests are intended to provide a very rough idea of the system's 2D and 3D graphics performance. Bear in mind, of course, that the reported performance will depend not only on hardware, but on whether your system has appropriate drivers for it.
# License
This project is released under the [GPL v2](LICENSE.txt) license.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
UnixBench-5.1.6.tar.gz (42个子文件)
UnixBench-5.1.6
LICENSE.txt 18KB
unixbench.sh 2KB
UnixBench
.DS_Store 8KB
testdir
cctest.c 4KB
dc.dat 142B
sort.src 8KB
large.txt 692KB
README 18KB
.cproject 14KB
Makefile 11KB
src
execl.c 3KB
._execl.c 176B
dhry_2.c 6KB
dhry_1.c 13KB
timeit.c 1KB
hanoi.c 2KB
syscall.c 3KB
ubgears.c 19KB
dhry.h 18KB
._pipe.c 176B
big.c 14KB
arith.c 3KB
fstime.c 14KB
looper.c 2KB
time-polling.c 17KB
pipe.c 2KB
context1.c 4KB
dummy.c 7KB
whets.c 34KB
spawn.c 2KB
._context1.c 176B
Run 62KB
pgms
gfx-x11 26KB
tst.sh 787B
multi.sh 773B
index.base 2KB
unixbench.logo 741B
._.DS_Store 120B
USAGE 18KB
.project 2KB
WRITING_TESTS 5KB
README.md 6KB
共 42 条
- 1
资源评论
Microi吾码
- 粉丝: 1459
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 时间复杂度与数据结构:算法效率的双重奏
- QT 简易项目 网络调试器(未实现连接唯一性) QT5.12.3环境 C++实现
- YOLOv3网络架构深度解析:关键特性与代码实现
- 2024 CISSP考试大纲(2024年4月15日生效)
- ACOUSTICECHO CANCELLATION WITH THE DUAL-SIGNAL TRANSFORMATION LSTM NETWORK
- 深入解析:动态数据结构与静态数据结构的差异
- YOLOv2:在YOLOv1基础上的飞跃
- imgview图片浏览工具v1.0
- Toony Colors Pro 2 2.2.5的资源
- Java项目:基于SSM框架+Mysql+Jsp实现的药品管理系统(ssm+B/S架构+源码+数据库)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功