Streamling 的三个架构决策
三个架构决策,每个都在简洁和稳健之间选了简洁。Checkpoint 搭载在数据上、优化器规则注入流处理语义、插件共享宿主 runtime。如果是我会怎么选。
三个架构决策,每个都在简洁和稳健之间选了简洁。Checkpoint 搭载在数据上、优化器规则注入流处理语义、插件共享宿主 runtime。如果是我会怎么选。
一个用 Rust 写的列式流处理引擎,不做分布式有状态计算,在生产环境跑通了上千条 pipeline。我为什么选它做深度研究。
从大盘指标定位维度,到采样定位函数,再到行级追踪——从大到小看,每一步基于上一步的证据。火焰图看平顶不看宽度。Rust 瓶颈往往在算法,Python 在解释器和进程开销。改完用数字确认,P99 达标就停。
数据中台场景下,不同技术栈的系统怎么用 FFI 共享同一套数据基础设施——为什么微服务不是答案,以及 FFI 桥接方案的实战经验。
跨语言调用的核心矛盾只有三个:数据类型怎么传、函数怎么调、内存怎么管。前两个靠 ABI 和绑定工具解决,第三个是最难的——GC 语言和手动管理语言各有自己的内存世界观,边界上谁说了算? 两个世界,一个边界 Rust 说:每个值有且仅有一个 owner,owner 离开作用域就 drop。Python
Python 是数据科学最顺手的语言,但纯 Python 跑计算密集型任务慢得离谱。一个斐波那契递归,纯 Python 算 fib(40) 要几十秒。Rust 算同样的东西,毫秒级。问题是怎么让 Python 用上 Rust 的速度?FFI 提供了三条路。 一个例子看清三道门 先用 PyO3 写个最
你有没有想过,为什么 Python 能调用 C 写的 numpy 而不需要 IPC?为什么 Java 的 JNI 调用一次本地方法,比普通方法调用慢一个数量级?为什么 Rust 的 PyO3 比 ctypes 快? 这些问题的答案都指向同一个概念:FFI(Foreign Function Inter
所有权/借用/生命周期 解释下所有权模型 所有权模型是为了解决在无GC的前提下,进行内存管理并保证内存安全。 其核心规则有3个: 每个值同一时间有且只有一个所有者 1. 每个值同一时间有且只有一个所有者 当值超出作用域内存即被释放 2. 当值超出作用域内存即被释放 当所有权转移后,原先的变量就失效了