ARM CPU与Intel x86 CPU性能比较
Intel x86架构对比于ARM架构来说,性能强大,功耗较高是大家都知道的事实。那Intel x86架构的CPU性能究竟比ARM架构的强多少呢?下面我们对单个Core做一个简单的评测。
我的PC机CPU:Intel Pentium Dual-Core CPU E5300 2.60GHz(Launched 2008Q1 x86)
我手机的CPU:Qualcomm Snapdragon S2 MSM8255 1.0GHz(Launched 2010Q2 ARMv7)
从上述说明可见,Intel CPU比Qualcomm CPU早两年推出。
我们采用Whetstone benchmark(Whetstone: floating-point arithmetic performance)来测试CPU的性能。大体步骤如下:
1、下载Whetstone源码
2、在MinGW环境中使用gcc编译Windows PC版本可运行程序
3、在Linux交叉编译环境中使用arm-none-linux-gnueabi-gcc编译Android Native C版本可运行程序
4、在Windows中运行测试程序
5、在Android ARM Linux中运行测试程序
6、总结运行时间
一、下载Whetstone源码
可以在如下地址直接下载源码文件:
http://www.netlib.org/benchmark/whetstone.c
二、在MinGW环境中使用gcc编译Windows PC版本可运行程序
使用如下命令行,在MinGW中编译:gcc -static whetstone.c –O0 -o whetstone -lm
注意:使用的是-O0,不让gcc优化代码,保证对比测试的准确性
三、在Linux交叉编译环境中使用arm-none-linux-gnueabi-gcc编译Android Native C版本可运行程序
使用如下命令行,在Linux交叉编译环境中编译:arm-none-linux-gnueabi-gcc -static whetstone.c –O0 -o whetstone -lm
关于Linux交叉编译环境的建立,可见我的另一篇文章:《在Ubuntu10.04中建立ARM交叉编译环境》
http://blog.csdn.net/xt_xiaotian/article/details/6836739
四、在MinGW中运行测试程序
对程序执行100次循环,然后观察输出。
$ time ./whetstone.exe 100
Loops: 100, Iterations: 1, Duration: 8 sec.
C Converted Double Precision Whetstones: 1250.0 MIPS
real0m8.698s
user0m0.s
sys0m0.015s
五、在Android ARM Linux中运行测试程序
假设系统中已经配置并好adb(Android Debug Bridge)。将手机连接USB数据线,然后打开USB调试。在cmd窗口中输入adb shell便可以进入Android adb shell了。然后进行如下配置:
1、使用mount –o remount,rw /system将/system目录挂接为可写入。Ctrl + C跳出Android adb shell,回到刚才的cmd窗口
2、使用adb push C:\whetstone /system,将在Linux交叉编译环境中编译出的whetstone程序拷贝到Android Linux中的/system文件夹中
3、使用chmod whetstone将程序设置为可执行
4、使用time ./whetstone 100执行程序,然后观察输出。
输出为:
Loops: 100, Iterations: 1, Duration: 148 sec.
C Converted Double Precision Whetstones: 67.6 MIPS
real2m 28.88s
user2m 28.25s
sys0m 0.02s
六、总结运行时间
同样的程序,同样的循环次数,在Intel CPU上运行耗时8.698秒,而在Qualcomm CPU上运行耗时148.88秒。
可以得出结论,在浮点数运算上,Intel Pentium Dual-Core CPU E5300 2.60GHz比Qualcomm Snapdragon S2 MSM8255 1.0GHz强17倍。根据Intel的摩尔定律,每18个月,CPU性能将提升一倍,大体可以算得同等档次、同等时间产品Intel CPU要比Qualcomm CPU强大42倍。
测试可能有些不准,但也在一定程度上反应了两种不同类型CPU的性能差距,欢迎大家回帖说说自己ARM CPU、PC CPU的测试值。
--
这个比较很不科学。
主要是你运行的循环数太少。windows的那个user时间都忽略了,android的那个user时间和运行时间差不多。
加大循环才能体现差距。差距应该能接近1倍,而不是42倍。
--
对比之下,Qualcomm MSM8255也就仅仅相当于一个 Intel Pentium III Mobile 750MHz 而已,Link:http://ark.intel.com/products/27410/Mobile-Intel-Pentium-III-Processor-750-MHz-256K-Cache-100-MHz-FSB
ARMCPUIntelx8 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)