Qualcomm ARM CPU與Intel x86 CPU性能比較
隨着移動互聯網時代的到來,Qualcomm(高通)、Texas Instruments(德州儀器)等基於ARM架構的CPU受到越來越多人的關注,而昔日王者的Intel x86架構由於功耗問題,在移動互聯網似乎舉步維艱。
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中運行測試程序
對程序執行100000次循環,然后觀察輸出。
$ time ./whetstone.exe 100000
Loops: 100000, Iterations: 1, Duration: 8 sec.
C Converted Double Precision Whetstones: 1250.0 MIPS
real 0m8.698s
user 0m0.000s
sys 0m0.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 777 whetstone將程序設置為可執行
4、 使用time ./whetstone 100000執行程序,然后觀察輸出。
輸出為:
Loops: 100000, Iterations: 1, Duration: 148 sec.
C Converted Double Precision Whetstones: 67.6 MIPS
real 2m 28.88s
user 2m 28.25s
sys 0m 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時間和運行時間差不多。
加大循環才能體現差距。差距應該能接近1000倍,而不是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