Rust 编译器有分析选项吗?

Does the Rust compiler have a profiling option?

我有一个 Rust 程序 运行 没有我想象的那么快。有没有办法告诉编译器检测二进制文件以生成分析信息?

我的意思是 GCC 的 -p-pg 选项或 GHC 的 -prof.

据我所知,没有直接切换。但是,我已经成功地编译了启用优化 以及 调试符号的代码。然后我可以使用 OS X's Instruments 来分析代码。其他人在 Linux 系统上使用 KCachegrind 达到了同样的效果。

编译器不支持任何形式的专门用于分析的工具(如-p/-pg/-prof),但编译的 Rust 程序可以在工具下进行分析不需要自定义检测,例如 OS X 上的 Instruments,以及 Linux.

上的 perf 或 callgrind

我相信此类工具支持使用 DWARF 调试信息(由 -g 发出)来提供更详细的性能诊断(每行等),但启用优化会对调试信息造成严重破坏,而且永远不会真的对我有用。当我分析性能时,深入研究 asm 是很常见的。

让它变得更容易真的很好,而且工具绝对是 post-1.0 priority