我经常在一台特定的计算机上的某个特定CPU上看到人们的基准/配置文件(或者建议其他人进行基准测试/配置文件)某个特定情况下的特定代码;然后(可能是错误地)假定这个结果适用于各种不同情况下的CPU(例如“所有64位80x86”)在不同情况下的代码(例如同一内核中不同负载下的其他逻辑CPU)各种不同的计算机(例如不同的RAM定时等)。有一个详尽的分析器吗?
我在找的是一种能够在许多条件下(主要是通过解释代码而不是直接测量)为许多CPU生成分析结果的分析器;然后使用加权因子(其中加权因子代表用户关心每个测量的个案的程度)来结合所有结果,以创建实际有用并且没有误导性的结果。
是否有适合此描述的分析工具?
你好。您的问题更多关于IPC代码(http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html - “解释和可操作的项目”;您是否模拟cpu-绑定或内存绑定)?是关于单线程,多线程还是多线程性能?查看RISC-V BOOM论文,了解微架构设计/规划问题及其在FPGA模型帮助下的加速搜索:https://www2.eecs.berkeley.edu/Pubs/TechRpts/2015/EECS-2015-167.html https://people.eecs.berkeley.edu/~krste/papers/dgkim-msthesis.pdf等。 – osgx
不同的活动在不同的环境中有不同的成本。在一个环境中,I/O可能是主要成本,但不是另一个。缓存未命中可能在一个中占主导地位,但在另一个中不占优势内存分配 - 同样的事情。浮点数学 - 同样的事情。并行处理开销 - 同样的事情。所以如果你想要一个适合所有人的工具,它必须能够被告知你想要什么样的环境。我想你认为重量可以做到这一点,但我的经验表明,你不能预先告知类别应该是什么。 –