问题标签 [cachegrind]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

rust - 如何强制整个 crate 使用确定性哈希(甚至依赖项)?

我有一个相当大的 Rust 板条箱,其中包含一些依赖项。现在,我想实施一些基准测试。为了获得最稳定的测量结果,我将 cachegrind 与 bheisler 的iai.

即使在禁用 ASLR 之后,测量中仍然存在一些抖动。这很可能源于使用HashMap随机播种哈希的 s。我知道我可以HashMap用我自己的哈希器初始化 s 并使用预设值播种它,但是我的一些依赖项,比如s,它们自己serde包含HashMaps,所以这不是一个全面的解决方案。此外,编写类似下面的代码来初始化哈希映射有点……很多:

如何从标准库中消除任何固有的非确定性行为?有没有办法为影响整个板条箱(包括其依赖项)的 Rust 标准库指定默认哈希器,或者至少是默认随机种子?