rust-python-example使用Rust扩展Python示例
Rust 写 Python 扩展的例子挺少见的,这个 rust-python-example 算是比较实用的一个。适合你想用 Rust 给 Python 提速,又不想踩太多坑的时候参考。代码结构清晰,注释也还行,直接拉下来跑跑就能明白思路。
Rust 的内存安全和零成本抽象是它的招牌,写扩展的时候你能感觉到,比 C 写起来放心多了。不用担心一不小心就内存泄漏或者野指针,省了多 Debug 时间。
Python 调用 Rust 这块其实挺灵活的,项目里用到的是 pyo3
和 maturin
,这俩是现在主流方案。一个负责绑定,一个打包编译,适合做成模块发布到 PyPI 或者本地用。
比如你写了个密集计算函数,像图像、数据清洗那种,就可以放到 Rust 里实现,再暴露给 Python 用,速度差距能看得见。
// Rust 中写个平方函数
dfn square(x: i32) -> i32 {
x * x
}
用 Python 直接调用,响应也快,代码也简单。
不过注意一点:写 Rust 逻辑时要考虑好线程模型,虽然 Rust 保证线程安全,但你还是得懂基本的 多线程编程。另外打包过程对环境也有点要求,比如 Rust toolchain 和 Python 版本得匹配。
如果你对性能有点追求,又想在 Python 里多玩点原生扩展,嗯,这套例子真挺值得一看。
rust-python-example-master.zip
预估大小:15个文件
rust-python-example-master
文件夹
pyext-myrustlib
文件夹
Cargo.toml
264B
src
文件夹
lib.rs
3KB
pyext-myclib
文件夹
build.sh
42B
myclib.c
182B
myclib.i
82B
setup.py
221B
15.7KB
文件大小:
评论区