在 Python 中使用的示例但其背后是 Rust 实现
Posted: Thu Jan 16, 2025 5:54 am
maturin是专门为 PyO3 设计的构建工具,用于简化在 Rust 中构建和分发 Python 扩展模块的过程。要将 Rust 集成到 Python 中,必须首先编写相应的 Rust 代码,然后编译成可以从 Python 调用的库。各个步骤可能会有所不同,具体取决于所选的库和用例。
rust-cpython
另一个库是 rust-cpython。与 PyO3 一样, rust-cpython允许Python 和 Rust 之间的交互,但重点略有不同。虽然 PyO3 试图使 Python 的互操作性尽可能简单,但 rust-cpython 更专注于提供类似 Python 的 API。不过,该项目现已停止,建议使用 PyO3 代替。
Python 项目中的 Rust 示例
拥抱脸部标记器
Tokenizers 是一个 Python 库,可实现自然语言文本 哥伦比亚 whatsapp 数据 的高效标记化。许多自然语言处理库都使用它,包括 Hugging Face Transformers 和 spaCy。 Tokenizers 使用 Rust 编程语言来实现其性能关键组件,例如字节级编码和解码。 Aleph Alpha 还用 Rust 编写了它的。使用 Rust 可以让分词器在保持内存安全的同时实现高性能。尽管 Tokenizers 是用 Python 编写的,但 Rust 仅用于性能关键的部分。这种方法将 Python 的灵活性和简单性与 Rust 的速度和安全性结合起来,实现了自然语言文本的高效和安全处理。
鲁夫
近年来,JavaScript 开发者社区在提高软件执行速度方面表现出了非凡的承诺。 Python 开发者社区是时候考虑类似的战略方向了。用 Rust、Go 和 Zig 等更强大的编程语言开发的“swc”、“esbuild”、“Bun”和“Rome”等工具显着提高了 JavaScript 工具链的性能。这种协同努力通常被称为 JavaScript 工具链的“Rust 认证”,表明 Python 工具也可以利用来提高性能的巨大潜力。
Charlie Marsh 通过展示“Ruff”证实了这一点,这是一个用 Rust 编写的 Python linter。事实证明,Ruff 比同类工具快得多:比 macOS 上的 Flake8 快约 150 倍(或者在启用 Flake8 多处理时快约 25 倍),比 pycodestyle 快约 75 倍,比 pyflakes 和 pylint 快约 50 倍。
rust-cpython
另一个库是 rust-cpython。与 PyO3 一样, rust-cpython允许Python 和 Rust 之间的交互,但重点略有不同。虽然 PyO3 试图使 Python 的互操作性尽可能简单,但 rust-cpython 更专注于提供类似 Python 的 API。不过,该项目现已停止,建议使用 PyO3 代替。
Python 项目中的 Rust 示例
拥抱脸部标记器
Tokenizers 是一个 Python 库,可实现自然语言文本 哥伦比亚 whatsapp 数据 的高效标记化。许多自然语言处理库都使用它,包括 Hugging Face Transformers 和 spaCy。 Tokenizers 使用 Rust 编程语言来实现其性能关键组件,例如字节级编码和解码。 Aleph Alpha 还用 Rust 编写了它的。使用 Rust 可以让分词器在保持内存安全的同时实现高性能。尽管 Tokenizers 是用 Python 编写的,但 Rust 仅用于性能关键的部分。这种方法将 Python 的灵活性和简单性与 Rust 的速度和安全性结合起来,实现了自然语言文本的高效和安全处理。
鲁夫
近年来,JavaScript 开发者社区在提高软件执行速度方面表现出了非凡的承诺。 Python 开发者社区是时候考虑类似的战略方向了。用 Rust、Go 和 Zig 等更强大的编程语言开发的“swc”、“esbuild”、“Bun”和“Rome”等工具显着提高了 JavaScript 工具链的性能。这种协同努力通常被称为 JavaScript 工具链的“Rust 认证”,表明 Python 工具也可以利用来提高性能的巨大潜力。
Charlie Marsh 通过展示“Ruff”证实了这一点,这是一个用 Rust 编写的 Python linter。事实证明,Ruff 比同类工具快得多:比 macOS 上的 Flake8 快约 150 倍(或者在启用 Flake8 多处理时快约 25 倍),比 pycodestyle 快约 75 倍,比 pyflakes 和 pylint 快约 50 倍。