选自medium.com
作者: Carl M. Kadie
机器之心编译
编辑:杜伟、陈萍
效果好不好,试一试就知道了。
Python 是数据科学家最流行的编程语言之一,其内部集成了高质量分析库,包括 NumPy、SciPy、自然语言工具包等,这些库中的许多都是用 C 和 C++ 实现的。
然而,C 和 C++ 兼容性差,且本身不提供线程安全。有研究者开始转向 Rust,重写 C++ 扩展。
拥有 CS 与机器学习博士学位的 Carl M. Kadie,通过更新 Python 中生物信息学软件包 Bed-Reader,为研究者带来了在 Rust 中编写 Python 扩展的九个规则。以下是原博客的主要内容。
一年前,我厌倦了我们软件包 Bed-Reader 的 C++ 扩展,我用 Rust 重写了它,令人高兴的是,得到的新扩展和 C/C++ 一样快,但具有更好的兼容性和安全性。一路走来,我学会了这九条规则,可以帮助你创建更好的扩展代码,这 九条规则 包括:
-
创建一个包含 Rust 和 Python 项目的单独存储库
-
使用 maturin & PyO3 在 Rust 中创建 Python-callable translator 函数
-
让 Rust translator 函数调用 nice Rust 函数
-
在 Python 中预分配内存
-
将 nice Rust 错误
Original: https://blog.csdn.net/pythondby/article/details/122306675
Author: IT孔乙己
Title: 厌倦了C++,CS&ML博士用Rust重写Python扩展,还总结了9条规则
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/696416/
转载文章受原作者版权保护。转载请注明原作者出处!