2 个不稳定版本
0.2406.0 | 2024年6月27日 |
---|---|
0.2403.0 | 2024年3月27日 |
在 性能分析 中排名第 51
495KB
13K SLoC
Legion Prof
Legion Prof 是一个用于 Legion 应用程序的性能分析器,它可以可视化程序执行期间发生的任务和其他操作。有关安装和使用该分析器的文档,请参阅 Legion 性能分析页面。
快速入门
在分析 Legion 应用程序时,请始终确保以发布模式构建 Legion(将 DEBUG=0
或 -DCMAKE_BUILD_TYPE=Release
设置为发布模式)。发布模式相对于调试构建提供了显著(通常是 5 倍或更大的)速度提升。
构建应用程序后,使用以下命令运行:
./your_legion_app -lg:prof 1 -lg:prof_logfile prof_%.gz
标志 -lg:prof 1
启用性能分析,而 -lg:prof_logfile
指定相应的日志文件将写入的路径。在多节点运行中(从 0 开始),字符 %
将被替换为节点编号。
一旦您有一组日志,就可以安装分析器。如果您尚未安装 Rust,请运行
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
然后使用以下命令安装分析器:
cargo install --all-features --locked [email protected]
其中 YYMM
对应于您在应用程序中使用的 Legion 版本(即,YY.MM.0
)。
重要:分析器的版本必须与应用程序中使用的 Legion 版本匹配,否则分析器可能无法解析日志。
如果您正在运行 Legion 的未发布版本(例如,在 master
分支上),则可以使用以下命令构建:
cargo install --all-features --locked --path legion/tools/legion_prof_rs
一旦安装了 legion_prof
,就可以运行
legion_prof --view prof_*.gz
有关运行 Legion Prof 的其他模式,请参阅 完整的分析器文档。
开发
我们在开发Legion Prof时采用了标准的Rust开发实践。
代码通过cargo fmt
进行格式化,并且应该始终无警告编译。在编译时,请确保使用--all-features
cargo check --all-features
在开发过程中,您可能希望构建本地副本,可以使用以下命令来完成:
cargo run --release --all-features -- --view ...
如果您还需要修改legion_prof_viewer
前端,您可以修改您的Cargo.toml
以指向您的本地副本
legion_prof_viewer = { path = ".../path/to/prof-viewer", optional = true }
依赖项
~8–50MB
~831K SLoC