Rust(1) - Boost Python Function for 5000%

icon
password

寻找第 N 个素数:Python 实现

首先用 Python 编写一个函数来查找第 n 个素数(质数)
让我们使用这个函数计算第 50 个素数
当我在终端中执行命令 python prime_finder.py 50 时,获得的响应如下所示
notion image
我们的 Python 函数实现花了 0.64 毫秒来找到第 50 个素数

寻找第 N 个素数:Rust 实现

让我们用 Rust 重写相同的函数

在 Python 中集成 Rust 代码

第 1 步:初始化我们的项目

Step 2: 安装Maturin

接下来,我们使用 Maturin,这是一个工具,可以帮助我们构建和发布带有  pyo3、 rust-cpython 和 CFFI 绑定的 crate,以及 Rust 二进制文件作为 Python 包

Step 3: 使用 Rust 创建 Python 模块

Step 4: 构建 Python 模块

使用以下命令通过终端构建 Python 模块

Step 5: 比较 Python 与 Rust 函数性能

At last, we compare the performance of both functions.
执行后比较性能
notion image
用于查找第 n 个素数的 Rust 函数比我们的 Python 实现快了 5264.74%,即几乎 53 倍。
上面这个例子是在 Python 代码中使用 Rust 的简单示例,但有一些重要的库要么提供 Python 到 Rust 代码的绑定,要么完全用 Rust 编写
比如:
  • orjson: 一个快速、正确的 Python JSON 库
  • pydantic: 一个流行的数据验证库
  • Polars: 用于高效数据操作和分析的快速 DataFrame 库
  • PyOxidizer: 现代Python应用程序打包和分发工具
  • retworkx: 专为量子计算和其他科学应用而开发的高性能图形库
 
Next.js(1) - Full-stack Framework of React - Creating ProjectCode Standard

© 2023-2024

chenoiLab - by Andy yang