按照玄铁910公布的单核7.1coremark/MHz的性能数据,是不是已经超越了图中的i7 7700?
ARM和x86相比,没有什么可比性。处理器的性能指标,取决于很多因素。
比如说指令集。i7 7700支持FMA/AVX2指令集,可以在一个指令里,同时计算位宽为256(相当于8个整数)的一个乘除法和一个加减法的运算。
这相当于16个整数操作一次性完成。arm-v我没有看到有支持simd/向量化操作的运算。
再比如说,i7 7700K支持sse 4.2指令,可以一条指令比较128字节的两个字符串的不同,这个在解析json/xml的时候非常有用。
再比如,i7 7700K支持硬件AES指令等等。
但是,是不是说,i7 7700K就非常强了呢,这个要看执行什么程序。如果你的程序没有充分利用这些指令,甚至根本没用这些指令,那么一切白搭。
比如说,虽然AVX2一次性可以做16个整数四则运算,但是往往没有代码可以正好一次性做这么多运算的,比如说第二次运算依赖第一次运算的结果,那么第二个运算就必须等第一个运算结束才能执行,而不是同时执行。再比如说,游戏软件根本用不到aes加密,那么这些指令毫无用处。
前面说的还是就单个cpu而言,再比如说,arm有一堆核心,但是每个核心频率不高,对于不能并行执行的代码,就会出现一个核心很忙,别的核心无所事事的情况,当然四核心的7700也会如此。因此峰值性能不等于你程序的性能。
再打一个比方,一个是10个小学生,一个是4个大学数学教授,你让他们比赛谁做题更快,这个就要看做什么题目了。做简单的加减乘除,教授的理论知识和才华就发挥不出来。