优化调度程序

作者: dabreegster创建于 2020年4月30日更新于 2025年8月3日
标签good first issue

分析显示 https://GitHub.com/dabreegster/abstreet/blob/master/sim/src/scheduler.rs 是一个热点,这很合理。有谁有想法来加速它吗?这是一个可更新优先级的优先级队列。除了 std::collections::BinaryHeap 之外,还有很多其他选择,但我认为我遇到了找到一个确定性的问题(给定相同的输入,模拟必须完全相同)。我用 7a0b9cd09a96e155a26f3304029d7c3ae753a9dc 将一个巨大的场景的运行时间从 71 秒缩短到 63 秒。我敢打赌还有更多的可能性。

内容来源: a-b-street/abstreet