CPU性能查询_cpu性能测试分数

CPU性能查询_cpu性能测试分数从CPU测试到’高性能’CPU的定义应客户的要求,着手开始CPU架构的演进对sysbench测试成绩的影响,于是再次开启”上古测试工具“的吐槽时间。sysbench作为一个名字中自带bench的benchmark工具包,源代码至少可以上溯到2004年。

从CPU测试到’高性能’CPU的定义   应客户的要求,着手开始CPU架构的演进对sysbench测试成绩的影响,于是再次开启”上古测试工具“的吐槽时间。   sysbench作为一个名字中自带bench的benchmark工具包,源代码至少可以上溯到2004年。其中包含了CPU、内存、IO以及那个时代最重要的数据库吞吐能力的综合评价。这次的问题从sysbench的CPU测试说起。   从读源码开始   sysbench CPU测试部分的核心源码其实非常简单,简单到C语言入门一周就能看懂的那种(SRC),特别适合作为优化入门教程:   看不懂其实也不影响,反正我也不常写C代码。这里有几个非常重要的点:除了简单还是简单,找到小于阈值的所有质数。计算循环圈数获得测试分数。独立的单线程测试。代码中动用了大量的除法(or取余)计算和循环嵌套。代码中大量的usinged long long类型,没有float更不存在vector,实际甚至只要int16就足够的取值范围,而且按照注释上的吐槽只是为了实现简单——可以说的这么任性的吗?   其实但看这十几行容纳的代码,我就基本搞懂了这个测试的关键因素究竟是什么,暂时先卖关子,慢慢开始验证。   编译参数差异   按照sysbench要求,编译参数为   看上去一堆,其实大多数都是-W的warning配置,反正warning这个东西呢~地上挖个坑,前边放个牌子写上黑体加粗的”warning“,可以直接筛选程序员。[狗头]   真正用得上的是-O3,-funroll-loops。好吧,简单直接一点,可以通过gcc -Q –help=target <parameters> 检查具体的编译器开关,比如针对这个例子。   
CPU性能查询_cpu性能测试分数
CPU性能查询_cpu性能测试分数   运行后在我的测试机上得分477.18。Anyway,我准备直接上汇编了,其实核心就这么几句。
CPU性能查询_cpu性能测试分数
CPU性能查询_cpu性能测试分数   开销这部分看懂的同学反而会奇怪为什么一个test开销能这么大。其实是受统计工具的影响,事实上开销最大的是0x419aac这一行的div除法操作。这么短的测试代码L1 cache都能hold,没有任何重指令甚至浮点指令,就4条指令来回跑还相互依赖并发不了,合着就是测一句div的时延喽~,多大点事儿我超频得了呗?
CPU性能查询_cpu性能测试分数
CPU性能查询_cpu性能测试分数频率-性能相关性实验   x轴是频率,y轴跑分,结果做出来了一个完美正比例”曲线“,线性回归一把,y=32.6x + 292.21,然后居然第一次看到回归后R2到了100%!   合着这个测试就是比谁的频率高呗,看规格书上的频率不比这测试方便吗?无奖问答时间:已知我找了个低压13代i3结果跑出来分数1759.19,问:我的CPU现在在某东上值多少钱?——玩笑归玩笑,但跑分是真实的i3力压志强。   优化还是作弊,这是个问题   讲到编译参数,忽然觉得有个参数像是生效了,又像是没生效——怎么说~如生!栩栩如生!   -funroll-loops 说好的循环展开呐?   前面已经说了,我早就看着这个unsingned long long不顺眼了,一个数据类型block一堆优化的典型。   
CPU性能查询_cpu性能测试分数
CPU性能查询_cpu性能测试分数   118,087.13 跑分提升了250倍,舒服多了!
CPU性能查询_cpu性能测试分数
CPU性能查询_cpu性能测试分数   核心函数展开成了120多个指令,去掉了相对性能低下的除法指令,引入了SSE操作加速,部分结果直接查表……   真-编译器比程序员更懂算法系列教程!   不过你都优化到这种程度了,本质上已经脱离了benchmark的规则,修改了源码已经算是作弊了吧?   规则不变只有更卷   论如何在不修改代码的前提下提升性能?   继续回头看这个函数,返回恒等于int 0,这个写法成功的吸引到了我。   尽管入参了 sb_event_t *r 和 int thread_id,但实际注释上已经给了提示——这两个变量都没用上!里边绕来绕去跟输入输出其实一点关系都没有。   总之,如果我是编译器,老板给了我这个函数让我编译的话,我应该立即去问这个函数究竟要做啥?   直接上个LLVM,只是略微调整一下clang源码的默认配置,继续用默认的原生代码,默认的编译命令。从技术上讲我用了一个未来某个版本会采纳的LLVM做默认编译器,没有作弊哦~
CPU性能查询_cpu性能测试分数
CPU性能查询_cpu性能测试分数   Magnificent 9,468,530.12!对比最初的447分这次是21,182倍性能提升,带回到上面的回归函数这相当于单核29THz的CPU性能,合着这是突破物理框架,超量子计算机实现了是吧?宇宙模拟预测成为可能了是吧?碳基飞升了是吧?

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/65664.html

(0)
上一篇 2024年 8月 9日 下午5:51
下一篇 2024年 8月 9日 下午5:56

相关推荐

关注微信