B站视频讲解 觉得好就给视频点个赞吧~
py-spy是一个python程序的性能分析器
用它无需重新启动python程序或者修改代码
它开销极低,速度快,用rust写的
并且不与分析的 Python 程序在同一进程中运行
项目还在持续更新
比如它最近支持了python3.11, 3.12
但是两年没有发布新版本了
我们今天要讲的是怎么在x86,arm64 以及 龙芯(mips64le)上编译它
需要准备一台x86_64的服务器,
装好docker或者podman
然后在容器里进行交叉编译
x86我们可以用 作者提供的docker镜像
benfred/rust-musl-cross:x86_64-unknown-linux-musl
这样静态编译出来的包
可以不用管运行环境的glibc的版本
就是在老一点的系统也能运行
展示下要运行的命令
podman run --privileged --rm -it -v $PWD:/app -w /app/ ghcr.io/benfred/rust-musl-cross:x86_64-unknown-linux-musl bash
git clone https://github.com/benfred/py-spy.git
cd py-spy
cargo build --release
ls /app/py-spy/target/x86_64-unknown-linux-musl/release/py-spy
arm64的类似