首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

[x86][gcc]PAUSE指令在Skylake上引起的性能问题

前言: docker部署的相同的业务,Host OS也是相同的版本,但是一段代码跑在E5-2630 v4和Gold 5118上,性能却相差很多。业务在在Gold 5118上,QPS下降到了E5-2630 v4的三分之一左右,而且CPU使用率更高。 Gold 5118是Products formerly Skylake系列,E5-2630 v4是Products formerly Broadwell 系列。按理说,Skylake是更新的架构,性能应该更好才对,然而实际表现却并非如此。 分析: 1,perf 在两台机器分别执行perf,发现在5118上,有些不同的地方,libgomp中出现了热点。 先用md5sum确认两个so是否出现了差异,结果是相同的。 因为libgomp被strip过,所以没有对应的symbol,perf只能拿到热点的IP:0xfc79。 使用#objdump -D得到disassembly code,如下

04
领券