ConnectorX 团队观察到现有解决方案在下载数据时或多或少会多次冗余数据。此外,在 Python 中实现数据密集型应用程序会带来额外的成本。ConnectorX 是用 Rust 编写的,并遵循“零拷贝”原则。这允许它通过变得对缓存和分支预测器友好来充分利用 CPU。此外,ConnectorX 的架构确保数据将直接从源复制到目标一次。
Datafuse 是 Rust 编写的一种具有云原生架构的现代实时数据处理和分析 DBMS,旨在简化数据云。
文章仔细研究 Base64 算法,并使用 Rust 编程语言从头开始实现编码器和解码器。
Tokio 是一个 Rust 异步运行时库,底层基于 epoll/kqueue 这样的跨平台多路复用 IO 以及 event loop,目前正在支持 io_uring。它的 scheduler 和 Erlang/Go 实现的 N:M threads 类似,线程会执行 Task,可以充分利用多核。Task 是 Rust 基于 Future 抽象出的一种绿色线程,因为不需要预先分配多余的栈内存,可以创建大量 task,很适合做 IO 密集型应用。
From 日报小组 北纬27度,侯盛鑫