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

ARM CPU与Intel x86 CPU性能比较的更多相关文章

  1. Intel X86 CPU 系列的寻址方式

    Intel X86 CPU 系列的寻址方式 数据总线和地址总线要尽量相同,这个是一个地址就是一个指针.

  2. linux 内核源代码情景分析——Intel X86 CPU 系列的寻址方式

    当我们说一个CPU是"16位"或"32"位时,指的是处理器中"算数逻辑单元"(ALU)的宽度.数据总线通常与ALU具有相同的宽度.当Inte ...

  3. ARM与X86 CPU架构对比区别

    CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是  CISC要用最少的机器语言 ...

  4. ARM与x86 CPU架构对比

    CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是CISC要用最少的机器语言指令 ...

  5. ARM与X86 CPU架构区别

    CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言指 ...

  6. [转帖]年经贴: ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器?

    ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器? https://www.cnbeta.com/articles/tech/899421.htm . 之前苹果的哥们说过 谁特别在意自己的软 ...

  7. Intel X86 32位CPU内存管理----《Linux内核源码情景分析》笔记(一)

    Intel X86 32位CPU内存管理 在X86系列中,8086和8088是16为处理器,而从80386开始为32为处理器,80286则是该系列从8088到80386,也就是16位处理器到32位处理 ...

  8. x86 cpu卷积网络的自动调谐

    x86 cpu卷积网络的自动调谐 这是一个关于如何为x86cpu调整卷积神经网络的文档. 本文不会在Windows或最新版本的macOS上运行.要让它运行,需要将主体包装在 if __name__ = ...

  9. Intel系列CPU的流水线技术的发展

    Intel系列CPU的流水线技术的发展 CPU(Central processing Unit),又称“微处理器(Microprocessor)”,是现代计算机的核心部件.对于PC而言,CPU的规格与 ...

随机推荐

  1. Sending Email from mailx Command in Linux Using Gmail’s SMTP

    The mailx or mail command in Linux is still providing service for guys like me, especially when we n ...

  2. 关于华为C8812救砖教程

    问题:华为C8812刷机后,开机显示:---------------------------------------------------------------- Image signature ...

  3. ios特性访问器方法(setter和getter)

    Employee.h @interface Employee:NSObject { int _employeeNumber; NSString *_name; Employee*_supervisit ...

  4. HDU 1465 第六周L题

    Description 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!  做好“一件”事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一样.  ...

  5. MATLAB plot画线的颜色设定

    plot中画线的颜色通常是八种: 标记符    颜色r          红g          绿b          蓝c          蓝绿m          紫红y          黄 ...

  6. CentOS 6.3 配置 yum

    ContOS 配置yum:1.cd /etc/yum.repos.d2.创建个任意目录,将所有文件移动到创建的目录中,除了CentOS-Media.repo3.编辑CentOS-Media.repov ...

  7. 团队项目之NABC

    Time:2013-10-22 Author:wang 一个成功的人,总是知道如何管理自己的时间,如何让自己的时间得到最充分最有效的利用.对学生一族而言,课业负担重,各种课程.各种活动.各种社团,如果 ...

  8. busying

    罪过 ,最近好忙  ,好久没有发表东西了, 连英语单词都写错了

  9. Video Toolbox:读写解码回调函数CVImageBufferRef的YUV图像

    本文档基于H.264的解码,介绍读写Video Toolbox解码回调函数参数CVImageBufferRef中的YUV或RGB数据的方法,并给出CVImageBufferRef生成灰度图代码.方便调 ...

  10. socket编程实现HTTP请求

    利用c++语言+socket实现HTTP请求,请求获得的数据效果图如下: HTTP协议的下一层是TCP,根据HTTP协议只需要利用TCP发送下面的数据到达目标主机,目标主机就会发送相应的数据到客户端. ...