标签:rust

【FFI】 Python 侧——用 Rust 扩展 Python 的三种方式

17 阅读 0 1512 字 · 约 6 分钟

Python 是数据科学最顺手的语言,但纯 Python 跑计算密集型任务慢得离谱。一个斐波那契递归,纯 Python 算 fib(40) 要几十秒。Rust 算同样的东西,毫秒级。问题是怎么让 Python 用上 Rust 的速度?FFI 提供了三条路。 一个例子看清三道门 先用 PyO3 写个最

【FFI】 内存管理——跨语言边界最难的问题

13 阅读 0 1232 字 · 约 5 分钟

跨语言调用的核心矛盾只有三个:数据类型怎么传、函数怎么调、内存怎么管。前两个靠 ABI 和绑定工具解决,第三个是最难的——GC 语言和手动管理语言各有自己的内存世界观,边界上谁说了算? 两个世界,一个边界 Rust 说:每个值有且仅有一个 owner,owner 离开作用域就 drop。Python

Rust高频面试问题

22 阅读 0 1204 字 · 约 5 分钟

所有权/借用/生命周期 解释下所有权模型 所有权模型是为了解决在无GC的前提下,进行内存管理并保证内存安全。 其核心规则有3个: 每个值同一时间有且只有一个所有者 1. 每个值同一时间有且只有一个所有者 当值超出作用域内存即被释放 2. 当值超出作用域内存即被释放 当所有权转移后,原先的变量就失效了