|
在新项目需要选择一个全新的基于ARM嵌入式处理器平台的时候,难免会需要对新平台的性能进行评估,这时候有
几种思路可以进行参考,一是ARM芯片厂家发布的性能指标,不过大多数是基于理论情况;二是购买同样平台的开
发板移植应用进行实测,效果最直接但是可能需要花费较大精力和时间;那么这个时候也可以考虑使用针对性的
benchmark软件在目标平台上面进行性能测试,算是一个折衷的方法,其结果有一定参考意义但由于影响benchm
ark软件结果的因素不仅仅是硬件本身,还有不同的BSP以及软件设定等,因此在这些设定一致性越大的前提下其
结果的参考意义才越大,否则很可能结果不是预期想要的甚至南辕北辙.
基于上面思路,本文统一采用Toradex工业产品等级 ARM计算机模块以及其官方发布的最新版Linux BSPV2.5Beta
3最为测试基准平台,同时将对结果影响比较大的CPU主频和显示输出分辨率尽可能保持一致来进行测试,测试样
本分别是基于NVIDIA Tegra2的Colibri T20 512M, 基于NXP i.MX6DL 的Colibri i.MX6DL 512M以及基于NXP Vybrid
的Colibri VF61 256M;其中前两个均为双核Cortex-A9 ARM核心,第三个为Cortex-A5和M4异构双核核心,不过这里
只测试A5.
1). 本文涉及的硬件平台测试项目及工具如下
a). 硬件平台
上述三种接口兼容的Colibri ARM 计算机模块以及一块Colibri Eva Board
b). 测试项目及对应工具
- CPU测试: nbench
- Memory测试: stream
- Storage测试: dd, hdparm
- Ethernet测试: iperf
- CPU压力测试: stress
- GPU压力测试: glmark2
注:所涉及工具除glmark2均已经在BSP中预装.
2). 测试进程以及结果
a). 预设
参考这里为两个A9平台关闭DVFS(dynamic voltage and frequency switching), Colibri T20 CPU主频设定为1GHz,
Colibri i.MX6DL CPU主频设定为800MHz, Colibri VF61不支持DVFS则无需设定;
显示分辨率所有平台均统一设置为默认值640x480.
b). CPU测试
进入/usr/bin运行下面命令
# nbench
- Colibri T20结果如下
=============LINUX DATA BELOW=============
CPU : Dual
L2 Cache :
OS : Linux 3.1.10-V2.5b3+gc8ead50
C compiler : arm-angstrom-linux-gnueabi-gcc
libc : static
MEMORY INDEX : 5.042
INTEGER INDEX : 5.245
FLOATING-POINT INDEX: 6.401
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
--------------------------------------------------------------------------
- Colibri i.MX6DL 结果如下
==============LINUX DATA BELOW=========
CPU : Dual ARMv7 Processor rev 10 (v7l)
L2 Cache :
OS : Linux 3.14.28-V2.5b3+g0632def
C compiler : arm-angstrom-linux-gnueabi-gcc
libc : static
MEMORY INDEX : 4.028
INTEGER INDEX : 4.177
FLOATING-POINT INDEX: 5.137
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
----------------------------------------------------------------------------
Colibri VF61 结果如下
==============LINUX DATA BELOW=========
CPU : ARMv7 Processor rev 1 (v7l)
L2 Cache :
OS : Linux 4.1.15-v2.5b3+ge6d111c
C compiler : arm-angstrom-linux-gnueabi-gcc
libc : static
MEMORY INDEX : 1.896
INTEGER INDEX : 2.337
FLOATING-POINT INDEX: 2.139
Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38
---------------------------------------------------------------------
nbench结果为单个CPU性能,可以看出T20和i.MX6同为A9核心基本处于统一水平,T20因为主频略高要有一定优势,
而VF61因为是A5核心同时主频低则相对要差一些.另外系统还内置了另一个CPU测试工具lmbench,这里就不详述了.
c). Memory测试
运行下面命令
# stream
- - Colibri T20结果如下
- ==================================
- STREAM copy latency: 33.38 nanoseconds
- STREAM copy bandwidth: 479.33 MB/sec
- STREAM scale latency: 35.58 nanoseconds
- STREAM scale bandwidth: 449.65 MB/sec
- STREAM add latency: 41.73 nanoseconds
- STREAM add bandwidth: 575.10 MB/sec
- STREAM triad latency: 42.90 nanoseconds
- STREAM triad bandwidth: 559.44 MB/sec
- ---------------------------------------------------------
-
- - Colibri i.MX6DL 结果如下
- =================================
- STREAM copy latency: 18.33 nanoseconds
- STREAM copy bandwidth: 873.08 MB/sec
- STREAM scale latency: 23.45 nanoseconds
- STREAM scale bandwidth: 682.30 MB/sec
- STREAM add latency: 26.90 nanoseconds
- STREAM add bandwidth: 892.26 MB/sec
- STREAM triad latency: 25.58 nanoseconds
- STREAM triad bandwidth: 938.16 MB/sec
- ------------------------------------------------------
- - Colibri VF61 结果如下
- =================================
- STREAM copy latency: 30.53 nanoseconds
- STREAM copy bandwidth: 524.09 MB/sec
- STREAM scale latency: 30.78 nanoseconds
- STREAM scale bandwidth: 519.82 MB/sec
- STREAM add latency: 134.66 nanoseconds
- STREAM add bandwidth: 178.23 MB/sec
- STREAM triad latency: 149.24 nanoseconds
- STREAM triad bandwidth: 160.81 MB/sec
- -----------------------------------------------------------
复制代码
|
|