【嵌入式开发】Raspberry Pi 树莓派性能测试
Raspberry Pi 树莓派性能测试
目录:
CPU
Linpack基准测试
源码
编译/运行
结果
Whetstone/Dhrystone综合基准测试
源码
编译/运行
结果
OpenSSL安全协议测试
源码
编译/运行
结果
GPU
ioquake3(雷神之锤3修改版)
源码
编译/运行
结果
IO
USB总线
SD卡
NIC(网卡)
编译/运行
结果
路由
方法
结果
电源
CPU
Linpack基准测试
已经完成对Arm的linpack基准测试, 选用gcc带-O3 (优化等级3)编译代码[1]. 用200大小的数组运行.
包括软件浮点
源码
编译/运行
cc -O3 -o linpack linpack.c -lm
linpack.c: In function ‘main’:
linpack.c:69: warning: return type of ‘main’ is not ‘int’
./linpack
Enter array size (q to quit) [200]: 200
结果
Crippled
Memory required: 315K. LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
2 0.53 92.45% 1.89% 5.66% 5493.333
4 1.07 92.52% 2.80% 4.67% 5385.621
8 2.12 92.45% 2.36% 5.19% 5466.003
16 4.24 92.45% 2.83% 4.72% 5438.944
32 8.49 92.11% 2.71% 5.18% 5459.213
64 16.98 92.05% 2.89% 5.06% 5452.440
硬件浮点 (-mfloat-abi=softfp)
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
8 0.51 90.20% 3.92% 5.88% 22888.889
16 1.02 89.22% 4.90% 5.88% 22888.889
32 2.05 90.24% 3.41% 6.34% 22888.889
64 4.08 91.42% 2.94% 5.64% 22829.437
128 8.16 91.54% 2.94% 5.51% 22799.827
256 16.31 91.35% 2.76% 5.89% 22903.800
Raspbian下的全硬件浮点 (-mfloat-abi=hard -mfpu=vfp), 频率arm_freq=700
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
16 0.58 89.66% 3.45% 6.90% 40691.358
32 1.17 87.18% 4.27% 8.55% 41071.651
64 2.32 88.36% 3.02% 8.62% 41459.119
128 4.67 88.22% 3.43% 8.35% 41071.651
256 9.33 88.85% 3.32% 7.82% 40880.620
512 18.63 89.00% 2.95% 8.05% 41047.675
Raspbian下的全硬件浮点 (-mfloat-abi=hard -mfpu=vfp), 频率arm_freq=1000 core_freq=500
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
32 0.79 89.87% 0.00% 10.13% 61896.714
64 1.58 89.24% 1.27% 9.49% 61463.869
128 3.16 90.19% 1.90% 7.91% 60407.789
256 6.32 88.13% 3.80% 8.07% 60511.761
512 12.65 87.83% 3.56% 8.62% 60825.836
Gentoo下的全硬件浮点, 带编译器优化(gcc-4.6.3 -Ofast -fno-fast-math), 默认时序
Memory required: 315K.
LINPACK benchmark, Double precision.
Machine precision: 15 digits.
Array size 200 X 200.
Average rolled and unrolled performance: Reps Time(s) DGEFA DGESL OVERHEAD KFLOPS
----------------------------------------------------
16 0.56 89.29% 1.79% 8.93% 43084.967
32 1.13 91.15% 4.42% 4.42% 40691.358
64 2.25 89.78% 3.56% 6.67% 41853.968
128 4.51 87.80% 4.21% 7.98% 42358.233
256 9.01 88.68% 3.88% 7.44% 42155.076
512 18.01 89.23% 2.78% 8.00% 42434.923
Whetstone/Dhrystone综合基准测试
用gcc带参数-float-abi=softfp -O3编译全部代码
源码
测试代码在http://www.rowley.co.uk/arm/whet_dhry.zip.
备用地址http://freespace.virgin.net/roy.longbottom/benchnt.zip
编译/运行
?
结果
Dhrystone
Microseconds for one run through Dhrystone: 1.2 Dhrystones per Second: 809061.5
Whetstone Crippled
Loops: 1000, Iterations: 10, Duration: 24 sec. C Converted Double Precision Whetstones: 41.7 MIPS
用'gcc -mfpu -float-abi=softfp'重新编译Whetstone, 结果更好:
Loops: 1000, Iterations: 100, Duration: 106 sec.
C Converted Double Precision Whetstones: 94.3 MIPS
上面的测试没有带-mfpu=vfp编译, 所以大部分运算时间都花费在SQRT方法上. 用了vfp后提升很大:
Loops: 1000, Iterations: 100, Duration: 15 sec.
C Converted Double Precision Whetstones: 666.7 MIPS
OpenSSL安全协议测试
源码
编译/运行
openssl version;
openssl speed;
结果
关闭汇编优化:
OpenSSL 0.9.8o 01 Jun 2010
built on: Thu Aug 26 18:56:26 UTC 2010
options:bn(64,32) md2(int) rc4(ptr,int) des(idx,risc1,4,long) aes(partial) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O2 -Wa,--noexecstack -g -Wall
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md2 148.81k 372.18k 624.81k 769.95k 832.90k
mdc2 0.00 0.00 0.00 0.00 0.00
md4 615.30k 2468.76k 7612.19k 16707.01k 28104.86k
md5 380.13k 1501.12k 4800.77k 11312.81k 21682.77k
hmac(md5) 1022.28k 3480.23k 9587.80k 17492.25k 25441.78k
sha1 303.72k 1092.39k 3106.50k 6302.57k 9852.39k
rmd160 244.29k 849.04k 2414.53k 4747.26k 7513.00k
rc4 14658.70k 16836.49k 17462.03k 17628.21k 17522.08k
des cbc 2913.17k 3221.30k 3289.77k 3360.09k 3367.21k
des ede3 1149.87k 1188.59k 1198.46k 1206.00k 1208.25k
idea cbc 0.00 0.00 0.00 0.00 0.00
seed cbc 0.00 0.00 0.00 0.00 0.00
rc2 cbc 2812.71k 3012.02k 3054.19k 3077.82k 3076.12k
rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00
blowfish cbc 6091.32k 7007.89k 7250.62k 7288.21k 7163.88k
cast cbc 5068.25k 6020.03k 6345.71k 6367.64k 6260.44k
aes-128 cbc 3205.76k 3497.72k 3616.00k 3652.49k 3665.85k
aes-192 cbc 2730.65k 2981.88k 3073.20k 3102.38k 3111.86k
aes-256 cbc 2383.90k 2596.12k 2659.91k 2702.13k 2732.50k
camellia-128 cbc 0.00 0.00 0.00 0.00 0.00
camellia-192 cbc 0.00 0.00 0.00 0.00 0.00
camellia-256 cbc 0.00 0.00 0.00 0.00 0.00
sha256 679.98k 1629.47k 2905.43k 3708.32k 4175.45k
sha512 41.02k 163.83k 232.63k 318.20k 353.81k
aes-128 ige 3089.03k 3579.08k 3698.68k 3689.14k 3578.18k
aes-192 ige 2641.68k 3019.45k 3111.38k 3144.95k 3035.70k
aes-256 ige 2334.50k 2632.35k 2705.04k 2735.69k 2687.74k
sign verify sign/s verify/s
rsa 512 bits 0.013747s 0.001193s 72.7 838.4
rsa 1024 bits 0.063481s 0.002742s 15.8 364.7
rsa 2048 bits 0.321250s 0.007378s 3.1 135.5
rsa 4096 bits 1.805000s 0.022528s 0.6 44.4
sign verify sign/s verify/s
dsa 512 bits 0.011690s 0.013597s 85.5 73.5
dsa 1024 bits 0.027233s 0.031683s 36.7 31.6
dsa 2048 bits 0.073897s 0.087304s 13.5 11.5
开启汇编优化:
OpenSSL 1.0.1c 10 May 2012
built on: Sun Jul 29 00:43:16 CEST 2012
options:bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) aes(partial) idea(int) blowfish(ptr)
compiler: armv6j-hardfloat-linux-gnueabi-gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN \
-DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM \
-DSHA512_ASM -DAES_ASM -DGHASH_ASM -O2 -march=armv6j -mfpu=vfp -mfloat-abi=hard -fno-strict-aliasing -Wa,--noexecstack
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md2 0.00 0.00 0.00 0.00 0.00
mdc2 724.41k 933.06k 1024.68k 1063.59k 1075.88k
md4 2547.83k 9441.28k 27284.48k 51824.98k 69894.14k
md5 1954.05k 7217.96k 20805.95k 39365.29k 53226.15k
hmac(md5) 3075.61k 10241.88k 26669.65k 44729.00k 55386.11k
sha1 2115.34k 6823.83k 16264.45k 25053.18k 30121.35k
rmd160 1487.88k 4783.96k 10707.71k 15800.32k 19303.08k
rc4 34205.43k 39535.98k 41215.83k 41561.43k 41570.04k
des cbc 6251.12k 6605.08k 6686.81k 6713.01k 6707.54k
des ede3 2326.45k 2368.36k 2385.83k 2397.53k 2391.84k
idea cbc 8758.77k 9421.31k 9607.34k 9653.93k 9687.93k
seed cbc 8274.52k 9036.46k 9264.64k 9321.47k 9284.27k
rc2 cbc 6047.90k 6354.82k 6458.82k 6465.19k 6485.33k
rc5-32/12 cbc 16204.47k 18649.32k 19367.94k 19560.11k 19649.84k
blowfish cbc 11934.03k 13189.85k 13546.92k 13633.19k 13486.76k
cast cbc 10797.59k 11828.46k 12156.58k 12187.65k 12050.43k
aes-128 cbc 12978.72k 14708.69k 15387.40k 15472.93k 15529.06k
aes-192 cbc 11441.49k 12834.60k 13315.69k 13453.78k 13430.80k
aes-256 cbc 10267.01k 11409.83k 11744.41k 11812.86k 11859.64k
camellia-128 cbc 9312.98k 10278.89k 10572.46k 10646.19k 10657.82k
camellia-192 cbc 7541.38k 8140.71k 8325.63k 8370.18k 8361.30k
camellia-256 cbc 7513.97k 8138.65k 8297.98k 8351.40k 8347.65k
sha256 3598.03k 8377.26k 14605.57k 17979.39k 19300.35k
sha512 1080.74k 4322.82k 6151.85k 8416.32k 9418.07k
whirlpool 361.82k 729.24k 1186.42k 1425.38k 1512.79k
aes-128 ige 11702.57k 13853.45k 14429.53k 14671.38k 14057.47k
aes-192 ige 10468.67k 12165.24k 12628.24k 12743.72k 12331.69k
aes-256 ige 9505.78k 10831.25k 11205.36k 11333.43k 10982.74k
ghash 15681.70k 17279.32k 17770.84k 17894.06k 17940.48k
sign verify sign/s verify/s
rsa 512 bits 0.002185s 0.000217s 457.6 4611.1
rsa 1024 bits 0.011325s 0.000640s 88.3 1563.5
rsa 2048 bits 0.074296s 0.002289s 13.5 436.8
rsa 4096 bits 0.544211s 0.008741s 1.8 114.4
sign verify sign/s verify/s
dsa 512 bits 0.002157s 0.002262s 463.5 442.0
dsa 1024 bits 0.006234s 0.007123s 160.4 140.4
dsa 2048 bits 0.022247s 0.025884s 44.9 38.6
GPU
树莓派从USB到HDMI处理h264 1080p电影至少能达到4MB/s.
管理员"JamesH"说"基本上1080p30高清的都>40Mb/s." h264也有5MB/s
包括WVGA(480p30) 或 720p20的VP8/WEBM
ioquake3(雷神之锤3修改版)
源码
https://github.com/raspberrypi/quake3
编译/运行
- Download source, compile as delivered
- Start game
- Runs at display's native res, in my case 1280x1024
- Bitdepth stuck at 16bpp, not sure how to change, values in q3config.cfg seem to be ignored
- In-game console commands:
\timedemo 1
\demo four
结果
armel "driver info" : http://i.imgur.com/wtYhB.jpg armel timedemo score: http://i.imgur.com/i2TkN.jpg 20.2fps
armhf "driver info" : http://i.imgur.com/8nqa1.jpg armhf timedemo score: http://i.imgur.com/dUu0g.jpg 28.5fps
IO
USB总线
- 所有的IO都用同一个总线, 所以所有IO的总和不可能超过设计的60MB/s速度;
- 高速USB盘的测试结果显示速度可达30 MB/s:
root@raspberrypi:~# dd if=/dev/sda of=/dev/null bs=32M count=10 iflag=direct
10+0 records in
10+0 records out
335544320 bytes (336 MB) copied, 10.6428 s, 31.5 MB/s
SD卡
这部分已经移到RPi_SD_cards#Performance
NIC(网卡)
编译/运行
局域网中:
iperf -s
树莓派中:
iperf -t 60 -c <SERVER_IP_ADDRESS> -d
结果
宽带 (Mbit/s) | CPU使用率 (峰值) | 发行版 | 内核 | 备注 |
---|---|---|---|---|
52.1 + 46.4 | 5.1%us, 66.2%sy, 28.7%si | Debian Squeeze "debian6-19-04-2012" | Linux raspberrypi 3.1.9+ #95 PREEMPT | |
91.8 + 36.8 | 1.6%us, 60.8%sy, 37.5%si | Debian Wheezy "Raspbian" | Linux raspbian 3.1.9+ #101 PREEMPT | |
65.1 + 48.8 | 1.3%us, 61.9%sy, 36.8%si | Arch Linux 2012-04-29 | Linux alarmpi 3.1.9-12+ #5 Sat Apr 28 04:49:38 UTC 2012 armv6l ARMv6-compatible processor rev 7 (v6l) BCM2708 GNU/Linux | Remote host connected at gigabit |
69.5 + 29.1 | 0.6%us, 55.5%sy, 40.0%si | Debian Wheezy "Raspbian" | Linux rpi 3.1.9+ #168 PREEMPT | Remote connected at gigabit, values for si between 30 and 55 % |
90.8 + 91.4 | 0.3%us, 62.2%sy, 37.5%si | Gentoo Linux ARM | Linux genpi 3.2.23-bootc #1 | Remote host connected at gigabit, vm.min_free_kbytes = 4096 |
路由
方法
- 一台带两个lan口的OpenBSD 5.2电脑在不同域用两个lan口直接连接树莓派.
- 在OpenBSD上的一个接口跑iperf -s, 另一个跑iperf -t 300 -c, 树莓派负责在中间路由.
- iperf v2.0.5.
- 测试150秒后树莓派系统负载.
结果
宽带 (Mbit/s) | CPU使用率 (峰值) | 发行版 | 内核 | 备注 |
---|---|---|---|---|
50.2 Mbps | 0.0%us, 0.1%sy, 99.8%si | Debian Wheezy "Raspbian" | Linux raspberrypi 3.6.11+ #366 PREEMPT | Stock clock |
85.5 Mbps | 0.0%us, 2.8%sy, 69.7%si | Debian Wheezy "Raspbian" | Linux raspberrypi 3.6.11+ #366 PREEMPT | Overclocked via raspi_config "turbo" |
87.1 Mbps | 4.3%us, 4.3%sy, 52.1%si | Debian Wheezy "Raspbian" | Linux raspberrypi 3.6.11+ #366 PREEMPT | Overclocked arm_freq 1100 core_freq 500 sdram_freq 600 over_voltage 6 |
62.1 Mbps | 0.0%us, 0.1%sy, 99.2%si | Debian Wheezy "Raspbian" | Linux raspberrypi 3.6.11+ #366 PREEMPT | Overclocked arm_freq 1100 core_freq 500 sdram_freq 600 over_voltage 6 - SNAT enabled |
电源
表格中列出了用5V电源线时同时执行各种任务所消耗电量.
进程 | 电量使用 (mA) | 备注 |
---|---|---|
启动 (无外设) | 120-400 | Taken from Agilent lab power supply readings. No composite/keyboard/mouse/network connected. HDMI was enabled but the cable was disconnected. |
待机(HDMI开启,网络开启) | 370 | Taken from Agilent lab power supply readings. No composite/keyboard/mouse connected. |
待机(HDMI开启,网络关闭) | 320 | Taken from Agilent lab power supply readings. No composite/keyboard/mouse/network connected. |
播放1080p视频 | 750 | About 3h on 4 AA batteries |
编辑文本 | - | Same as idling |
编译C代码(QuakeIII) | 364 | Measured with a Fluke 87V multimeter. No composite, keyboard, mouse, or network connected. HDMI was connected. Current peaked at 418mA. |
运行Python程序 | ? | |
玩Quake III | 461 | Measured with a Fluke 87V multimeter. No composite or network connected. HDMI was connected. Current peaks at 551mA. |
【嵌入式开发】Raspberry Pi 树莓派性能测试的更多相关文章
- Raspberry Pi(树莓派)国内软件源
树莓派自带的软件源是 deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi 由于网站在国外 ...
- 树莓派进阶之路 (012) - 关于Raspberry Pi树莓派无线网卡配置
Raspberry Pi树莓派无线网卡配置[多重方法备选] 要想让树莓派方便操作,肯定需要配置无线网卡,这样可以大大增强树莓派的移动性和便利性,其实配置无线网卡基本就是和普通linux平台下配置无线网 ...
- 树莓派进阶之路 (003) - Raspberry Pi(树莓派)国内软件源
树莓派自带的软件源是 deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi 由于网站在国外 ...
- raspberry pi 树莓派作为比特比矿机
http://www.instructables.com/id/Bitcoin-Mining-using-Raspberry-Pi/ Step 5: Installing Required Libra ...
- Raspberry Pi (树莓派) 更换源 - stretch 版本
Raspberry Pi 默认更新源访问速度慢,更换国内源速度提升.更换软件更新源 (/etc/apt/sources.list),更换系统更新源 (/etc/apt/sources.d/raspi. ...
- 转载:Raspberry Pi 树莓派入门
转载说明: 整理转载,原文链接http://www.eeboard.com/bbs/thread-5191-1-1.html 这篇帖子我打算用Q&A的方式来编写,这样大家更容易一目了然的看明整 ...
- raspberry pi树莓派设置
买了个pi3b 安装系统 需要class10 TF卡.读卡器 下载系统并解压Raspbianhttps://www.raspberrypi.org/downloads/raspbian/访问慢的话请用 ...
- [转]Raspberry Pi树莓派无线网卡配置[多重方法备选]
要想让树莓派方便操作,肯定需要配置无线网卡,这样可以大大增强树莓派的移动性和便利性,其实配置无线网卡基本就是和普通linux平台下配置无线网卡一样,几种方法大同小异,具体如下: 一.第一种方法:通过配 ...
- Raspberry PI(树莓派)安装ZMAP
以前配置树莓派安装ZMAP一直没有装成功,今天又试了下,装成功了,记录下. Good Job. Zmap地址: https://zmap.io/documentation.html step1: gi ...
随机推荐
- 开始PHP,常量/变量与内存间的关系--传值
一.常见的PHP代码嵌入式方式,与html结合 要注意:文件名后缀必须形如xxx.php否则html将无法解析 二.php脱离html代码独立工作,没有其他代码 不需要借助Apache工作,只需要ph ...
- LOJ-6282-数列分块入门6
链接: https://loj.ac/problem/6282 题意: 给出一个长为 的数列,以及 个操作,操作涉及单点插入,单点询问,数据随机生成. 思路: vector 维护每个区间, 当某个区间 ...
- JavaScript 函数调用时带括号和不带括号的区别
function countBodyChildren(){ var body_element = document.getElementsByTagName("body")[0]; ...
- CSS3 选择器——笔记+实战案例(基本选择器、组合选择器、属性选择器、伪类选择器)
使用CSS3 选择器——笔记 CSS通过选择器控制HTML元素,CSS选择器对网页对象可以实现一对一.一对多或者多对一的匹配. 一.CSS3选择器分类 CSS选择器在CSS2.1选择器的基础上新增了属 ...
- C# 从Object对象中读取属性的值
https://www.cnblogs.com/xbblogs/p/7739483.html
- echarts 图形图例文字太长如何解决
文章来源: https://blog.csdn.net/csm17805987903/article/details/85111835 legend 文字很多的时候对文字做裁剪并且开启 tooltip ...
- Luogu2000 拯救世界
题目链接:戳我 生成函数的入门题吧. 我们可以把条件限制转化为生成函数,然后用第i项的系数来表示一共使用n块石头的方案个数. (你问我为什么?你可以自己演算一下,或者去看大佬的博客-->这里面讲 ...
- 微信支付(公众号)爬坑记,包含 total_fee 失败和 JSAPI 签名验证失败等等
做商城类网站不免会需要做支付功能,目前在中国大陆通用的做法就是使用支付宝支付和微信支付,上一篇博文已经讲个支付宝支付. 这篇文章来讲一讲微信支付,微信支付的方式有很多种,本文主要讲 JSAPI 支付的 ...
- HDU6579 Operation
题目链接 问题分析 区间求异或和最大,比较自然的想到了线性基.而每次求一个区间的线性基显然是行不通的.我们考虑在每个位置求出首位置到当前位置的线性基.同时我们要使线性基中高位的位置所选的数尽量靠后.这 ...
- Unity3D_(游戏)卡牌04_游戏界面
启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面 传送门 选关界面效果 (源代码在文 ...