vlambda博客
学习文章列表

树莓派Unixbench性能测试

This browser does not support music or audio playback. Please play it in Weixin or another browser.

树莓派Unixbench性能测试

(from unsplash)

树莓派Unixbench性能测试



树莓派Unixbench性能测试

Unixbench



UnixBench 是一个类 Unix 系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试 Linux 系统主机的性能。UnixBench 的主要测试项目有:系统调用、读写、进程、图形化测试、2D、3D、管道、运算、C库等系统基准性能提供测试数据。

使用树莓派4b进行测试:

  • cpu:1.5GHz 四核64 位 ARM Cortex-A72 CPU

  • ram:8G

  • 系统:Debian GNU/Linux 10 (buster) aarch64(64位系统)


# 1. 下载UnixBench5.1.3.tgz(可以在本机上下载好,然后scp过去)[https://s3.amazonaws.com/cloudbench/software/UnixBench5.1.3.tgz]
# 2. 解压tar -xvf ./UnixBench5.1.3.tgz
# 3. 编译、安装cd UnixBenchmake cleanmake all
# 4. 运行./Run


测试内容:


## 此项用于测试 string handling,因为没有浮点操作,所以深受软件和## 硬件设计(hardware and software design)、编译和链接(compiler ## and linker options)、代码优化(code optimazaton)、对内存的## cache(cache memory)、等待状态(wait states)、整数数据## 类型(integer data types)的影响。1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
## 这一项测试浮点数操作的速度和效率。这一测试包括几个模块,每个模块都## 包括一组用于科学计算的操作。覆盖面很广的一系列 c 函数:sin,cos,## sqrt,exp,log 被用于整数和浮点数的数学运算、数组访问、条件分支## (conditional branch)和程序调用。此测试同时测试了整数和浮点数## 算术运算。1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10

## 此测试考察每秒钟可以执行的 execl 系统调用的次数。execl 系统调用## 是 exec 函数族的一员。1 x Execl Throughput 1 2 3

## 测试从一个文件向另外一个文件传输数据的速率。每次测试使用不同大小的## 缓冲区。这一针对文件 read、write、copy 操作的测试统计规定时间(默## 认是 10s)内的文件 read、write、copy 操作次数。1 x File Copy 1024 bufsize 2000 maxblocks 1 2 31 x File Copy 256 bufsize 500 maxblocks 1 2 31 x File Copy 4096 bufsize 8000 maxblocks 1 2 3

## 管道(pipe)是进程间交流的最简单方式,这里的 Pipe throughtput ## 指的是一秒钟内一个进程可以向一个管道写 512 字节数据然后再读回的次## 数。需要注意的是,pipe throughtput 在实际编程中没有对应的真实存在。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

## 测试每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退## 出)。process creation 的关注点是新进程进程控制块(process control## block)的创建和内存分配,即一针见血地关注内存带宽1 x Process Creation 1 2 3

## 测试进入和离开操作系统内核的代价,即一次系统调用的代价。它利用一个反复地## 调用 getpid 函数的小程序达到此目的。1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10

## 测试一秒钟内一个进程可以并发地开始一个 shell 脚本的 n 个拷贝的次数,## n 一般取值 1,2,4,8。1 x Shell Scripts (1 concurrent) 1 2 31 x Shell Scripts (8 concurrent) 1 2 3


系统信息:


======================================================================== BYTE UNIX Benchmarks (Version 5.1.3)
System: pi2: GNU/Linux OS: GNU/Linux -- 5.4.79-v8+ -- #1373 SMP PREEMPT Mon Nov 23 13:32:41 GMT 2020 Machine: aarch64 (unknown) Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968") 02:59:46 up 17 days, 17:05, 1 user, load average: 0.31, 0.19, 0.08; runlevel 5



跑分结果:


结果是426.7,虽然是8G内存,依然是个渣渣。(通常情况下1000分以上,算是性能较好的)


Benchmark Run: Tue Jan 12 2021 02:59:46 - 03:27:320 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 14541455.9 lps (10.0 s, 7 samples)Double-Precision Whetstone 2549.5 MWIPS (9.1 s, 7 samples)Execl Throughput 2013.9 lps (30.0 s, 2 samples)File Copy 1024 bufsize 2000 maxblocks 168863.4 KBps (30.0 s, 2 samples)File Copy 256 bufsize 500 maxblocks 49802.4 KBps (30.0 s, 2 samples)File Copy 4096 bufsize 8000 maxblocks 460053.7 KBps (30.0 s, 2 samples)Pipe Throughput 252784.6 lps (10.0 s, 7 samples)Pipe-based Context Switching 46582.0 lps (10.0 s, 7 samples)Process Creation 2695.2 lps (30.0 s, 2 samples)Shell Scripts (1 concurrent) 3846.1 lpm (60.0 s, 2 samples)Shell Scripts (8 concurrent) 1096.6 lpm (60.0 s, 2 samples)System Call Overhead 236520.0 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEXDhrystone 2 using register variables 116700.0 14541455.9 1246.1Double-Precision Whetstone 55.0 2549.5 463.5Execl Throughput 43.0 2013.9 468.3File Copy 1024 bufsize 2000 maxblocks 3960.0 168863.4 426.4File Copy 256 bufsize 500 maxblocks 1655.0 49802.4 300.9File Copy 4096 bufsize 8000 maxblocks 5800.0 460053.7 793.2Pipe Throughput 12440.0 252784.6 203.2Pipe-based Context Switching 4000.0 46582.0 116.5Process Creation 126.0 2695.2 213.9Shell Scripts (1 concurrent) 42.4 3846.1 907.1Shell Scripts (8 concurrent) 6.0 1096.6 1827.7System Call Overhead 15000.0 236520.0 157.7 ========System Benchmarks Index Score 426.7



Done!