
















之前还在读研的时候有一个图论课,课上主要用 Python 写图算法。
但是数据集一大 Python 的性能你们懂的,到后面测试一次就要一分多钟。
有点受不了就用 C# 和 Rust 各写了一个,理清算法之后再照搬到 Python 。
当时最大的数据集下,一样的算法一样的机器,用 hyperfine 测试启动到结束的时间,性能大概是这样的
- Python 3.11: 30s
- C# (.NET7 AOT): 1.5s
- Rust: 750ms
毕业之后这段代码就搁我电脑里没怎么动过,但是每年 .NET 版本更新我都会拿出来再跑一下看看性能,去年 .NET 8 更新之后 C# 版本的运行时间降低到了 1s ,Rust 没什么变化。
今年 .NET 9 更新了我就又拿出来跑了一下,Rust 没变,C# 版时间降低到了 660ms ,超越了 Rust ,让我非常不解,按理说一个带运行时的 GC 语言无论如何性能都不会比跑在裸机上的 Rust 快。
问了几个群友,有人说 Rust 的默认 HashMap 性能不行,但是换 ahash 之后也没什么变化。
代码在这里: https://gist.github.com/Xerxes-2/4c73294601dca27d3d6dc7eeecc78ba1
请问 Rust 版哪里写的有问题还能优化吗
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。