在这之前,我已经发了i7-12700的SPEC CPU 2006单线程测试结果。原贴如下:
https://tieba.baidu.com/p/8427460269
当然,我随即便测试了i7-12700的SPEC CPU 2006多线程性能。考虑到i7-12700是8大核4小核的设计,8个大核每个大核2个线程,4个小核每个小核1个线程,一共20线程,我想到了一些有趣的跑分方式。我想到的跑分方式包括跑20个线程、只跑大核、只跑小核和只跑每个核的一个线程,其中只跑大核又包括只跑1个线程和跑2个线程。这种测试都是通过在配置文件中写好numactl绑核配置实现的。
因测试次数比较多,本贴不在主贴中贴出所有跑分报告。这次测试的所有二进制都是之前测试单线程的时候编译的,没有再次编译。测试结果汇总如下表。

在我测完以后,发现16线程和20线程的分数差别很小,可以知道4小核对整个CPU性能的提升影响并不大。但是,单独的4个小核心能跑到110分。所以可以推断,这种情况也可能是因为内存的性能不能满足这么多线程同时访问。
再注意到,8大核每核只跑1个线程和跑2个线程的分数差别并不大,但是8大核每核只跑1个线程+4小核跑分却明显低于8大核每核只跑1个线程。跑分时候我注意到,因为绑核,每个核心都有固定的计算量,总是大核先完成计算任务并把利用率将到0,然后小核心继续运行直到完成所有计算任务。在绑核的条件下,小核心反而影响了最终完成所有计算任务的时间,从而使分数降低。
于是,我开始对小核的性能感兴趣,马上绑定小核并跑单线程测试。结果,小核整数40.3分,浮点38.8分。
小核被称为能效核,在给小核跑分的过程中,CPU发热的确很小,风冷下即使4核心跑多线程温度也不超过50℃。在跑多线程的时候,4个小核的频率可以稳定在4.0GHz。发热低的同时性能也不俗,这个能效核的性能大致是10代酷睿的水平。
可以看到,i7-12700的性能核性能确实好,但同时满载运行时发热也大;能效核虽然被俗称为“小核”,但是性能一点也不“小”。龙芯3A6000的性能可以虐i7-12700的能效核,那么问题来了,还需要多长时间,龙芯的单核性能可以吊打i7-12700的性能核呢?
https://tieba.baidu.com/p/8427460269
当然,我随即便测试了i7-12700的SPEC CPU 2006多线程性能。考虑到i7-12700是8大核4小核的设计,8个大核每个大核2个线程,4个小核每个小核1个线程,一共20线程,我想到了一些有趣的跑分方式。我想到的跑分方式包括跑20个线程、只跑大核、只跑小核和只跑每个核的一个线程,其中只跑大核又包括只跑1个线程和跑2个线程。这种测试都是通过在配置文件中写好numactl绑核配置实现的。
因测试次数比较多,本贴不在主贴中贴出所有跑分报告。这次测试的所有二进制都是之前测试单线程的时候编译的,没有再次编译。测试结果汇总如下表。

在我测完以后,发现16线程和20线程的分数差别很小,可以知道4小核对整个CPU性能的提升影响并不大。但是,单独的4个小核心能跑到110分。所以可以推断,这种情况也可能是因为内存的性能不能满足这么多线程同时访问。
再注意到,8大核每核只跑1个线程和跑2个线程的分数差别并不大,但是8大核每核只跑1个线程+4小核跑分却明显低于8大核每核只跑1个线程。跑分时候我注意到,因为绑核,每个核心都有固定的计算量,总是大核先完成计算任务并把利用率将到0,然后小核心继续运行直到完成所有计算任务。在绑核的条件下,小核心反而影响了最终完成所有计算任务的时间,从而使分数降低。
于是,我开始对小核的性能感兴趣,马上绑定小核并跑单线程测试。结果,小核整数40.3分,浮点38.8分。
小核被称为能效核,在给小核跑分的过程中,CPU发热的确很小,风冷下即使4核心跑多线程温度也不超过50℃。在跑多线程的时候,4个小核的频率可以稳定在4.0GHz。发热低的同时性能也不俗,这个能效核的性能大致是10代酷睿的水平。
可以看到,i7-12700的性能核性能确实好,但同时满载运行时发热也大;能效核虽然被俗称为“小核”,但是性能一点也不“小”。龙芯3A6000的性能可以虐i7-12700的能效核,那么问题来了,还需要多长时间,龙芯的单核性能可以吊打i7-12700的性能核呢?