Fusio - 一个新的存储抽象库
Fusio是一个为多种异步运行时(包括基于轮询的tokio和基于完成的tokio-uring、monoio)提供读写多种存储后端(如本地磁盘、亚马逊S3等)Trait的Rust库。主要特点包括:
- 体积小巧,二进制大小比其他类似库小14倍以上。
- 与裸存储后端相比,Trait定义可无额外开销地分派文件操作。
- 可扩展,允许第三方crate实现存储后端。
Fusio目前处于预览版,欢迎加入社区讨论其发展和语义/行为。它旨在为Tonbo项目提供一种灵活高效的跨多存储后端、多异步运行时进行文件和文件系统操作的方式。
Fusio提供了运行时无关的Trait接口、对象安全和非对象安全的Trait版本、支持常见文件系统操作、可选的S3支持等。与object_store相比,fusio不依赖bytes,性能开销更小;与opendal相比,功能更精简,默认体积更小。未来还将支持更多存储后端、网络支持等。
https://github.com/tonbo-io/fusio
filtra 2024年9月份Rust语言Job报告(国外)
这份报告由filtra公司发布,主要概述了2024年9月份Rust语言相关工作岗位的市场状况。报告显示,9月份Rust工作机会数量达到了867个新高,共有109家公司在招聘Rust相关岗位,其中亚马逊、IBM和微软是三大主要雇主。除了传统科技公司,Disney等其他行业公司也开始使用Rust语言。
就行业分布来看,云计算/基础设施、加密货币、系统/硬件、生产力和咨询行业是Rust语言使用最多的领域。此外,报告还分析了不同级别(初级、中级和高级)Rust岗位的供给情况,9月份初级岗位数量有所增加。
该报告的数据来源包括filtra平台的数据以及公开的招聘信息。filtra公司表示,欢迎其他公司加入其Rust工作机会指数。
Rust进行进程间通信(IPC)的几种方法的基准测试
该文章介绍了在同一台机器上使用Rust进行进程间通信(IPC)的几种方法的性能测试。作者在前人的工作基础上,对以下几种IPC机制进行了基准测试:Unix域(Stream和Datagram)套接字、内存映射文件以及使用iceoryx2框架的共享内存。
文章首先解释了实验设置,包括生成随机数据负载、CPU亲和性设置、CPU预热等优化和测量技术。然后详细介绍了每种IPC方法的实现细节和遇到的一些挑战。
-
Unix域Stream套接字是最基本的一种IPC形式。
-
Unix域Datagram套接字需要处理"地址已在使用"、"消息过大"和"缓冲区不足"等错误,实现起来相对复杂些。
-
内存映射文件通过将文件内容映射到调用进程的虚拟地址空间来实现IPC,需要使用MAP_SHARED标志使一个进程的更改对另一个进程可见,并且需要进程间同步。
-
共享内存使用iceoryx2框架,是一种无锁队列的高性能实现。
https://pranitha.rs/posts/rust-ipc-ping-pong/
--
From 日报小组 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论