![]() |
1
8
基准测试是一门黑色艺术,你在这里得到了一些误导性的结果。运行版本构建非常重要,如果您做得对,那么您现在会注意到go1()不再需要任何时间。本机代码优化器对此有专门的知识,如果不使用它的结果,那么它将完全消除它。 你必须修改代码才能得到可靠的结果。首先在Go()测试体周围放置一个循环,至少重复20次。这将消除jitting和缓存开销,并有助于看到较大的标准偏差。减少0次重复,这样你就不用等太久了。偏好工具>选项>调试>常规,“抑制JIT优化”未选中。更改代码,我建议:
我在笔记本电脑上看到的结果:x64:75、84、84、x86:73、89、89+5/-3毫秒。 三种不同的工作机制:
|
![]() |
Adam · 获取对列表中元素的引用 6 年前 |
![]() |
NormX · 没有带字符串数组的存储类或类型说明符 6 年前 |
![]() |
areify · 如何避免此代码中的内存泄漏? 7 年前 |
![]() |
Nicola · C++CLI项目中非托管数据上的C#指针 7 年前 |
![]() |
Matthias Hoste · 是否可以进行C++/CLI注入? 7 年前 |