ripgrep 11 发布
ripgrep 是 Linux 命令行文件内容检索工具 grep 的 rust 实现版本。版本 11 修复了很多 bug,改进了性能,对二进制文件的搜索体验大幅改进。
nude-rs:高性能黄图检测
是 nude.js 和 nude.py 的移植。看看下面的性能评测:
node-js 社区经常引以为傲的性能优越感呢?不过 Rust 为 node 包性能的提升已经做好准备。
此库目前还处于实验阶段。
python-ext-wasm:用于运行 WebAssembly 二进制文件的 Python 扩展
Wasmerio 出品,之前我们报道过 php-ext-wasm,这个库就是对应的 Python 版本。
主打:
- 易用
- 快速
- 安全
使用
$ pip install wasmer
就可以安装了。
ring-channel:环形缓冲区之上的无阻塞,bounded MPMC 管道
在 环形缓冲区 ring buffer 上建立一个 MPMC (Multiple Producer Multiple Consumer)通道。
Xray 死了吗?
Xray 是实验性的下一代基于 Electron 的编辑器的后端,用 rust 写成。但是项目进度好像遇到的问题。于是作者在 reddit 上心急如焚,发了一篇长文,细数了 Xray 的好。希望有人能接手继续开发下去。
不过有人说好像有已经有人 fork 了。
image-rs 已经从 Piston 组织中独立出来了
image 是图像编解码库(图像处理库),由 piston 组织开发,不过 piston 的其它项目大部分是试水项目,感觉在玩儿。这个 image 库估计是想严肃做一下,故移到专门的组织来做。
Rocket Prometheus:给 Rocket 应用添加监控
Prometheus(普罗米修斯),在运维界几乎成了应用监控的代名词了,详细定义在这里。本身内容还是蛮多的,运维哥哥深有体会。
这个库应该是给rocket应用加一个metrics接口,这样就可以使用prometheus了
mesos - 面向 Windows 二进制文件的覆盖率检测工具
不需要修改要检测的可执行二进制文件。它本质上是一个非常快的调试器。借鉴自:kcov
simsearch-rs:一个简单的模糊搜索工具
就是根据关键词相似度查找结果。搜索引擎必备技能。Tantivy 也能做到。
use simsearch::SimSearch;
let mut engine: SimSearch<u32> = SimSearch::new();
engine.insert(1, "Things Fall Apart");
engine.insert(2, "The Old Man and the Sea");
engine.insert(3, "James Joyce");
let results: Vec<u32> = engine.search("thngs");
assert_eq!(results, &[1]);
「系列文章」for await loops (Part I):无船大神对 await for 语法的思考
有关async/await语法的一个悬而未决的问题是:await的最终语法。到目前为止,关于这个问题已经进行了大量的讨论;该讨论的现状和语言小组内的立场即将推出。本文无船同志这一系列文章将讨论一个影响该决定但尚未被考虑的问题:for循环流程。
目前futures-async-await库中用的语法是这样的:
#[async]
for elem in stream { ... }
但无船同志认为这个语法与await的作用其实是相似的,这也是JavaScript中使用for await...of
语句来创建循环遍历异步可迭代对象的原因:
for await (elem of stream) { ... }
对于Rust中如何设计这种语法呢?这个await是循环语法的一部分(只是for循环这么用)呢,还是单独的语法模式(更加通用)呢?无船倾向于让它成为通用的语法模式。然而目前Rust的类型系统对于后者的表达是有限制的,所以本文将讨论将await作为循环语法的一部分,而下一篇再讨论await作为单独语法模式。
所以,对于await作为for循环的一部分,这个语法设计无船倾向于使用下面这种空格分隔prefix-await
的语法(后缀语法类似于是elem.await
这样的表达):
for await? elem in stream { }
下一篇文章将探讨更多。(看看语法设计也挺有意思)
org-rs:Org 模式解析器的 Rust 实现
Org Mode 是 Emacs(神的编辑器)中用于记笔记,维护待做列表,做工程规划等活儿的插件,功能强大,操作快捷,受众广泛,被超多人喜爱。但是只能在 Emacs 中,是个硬伤。所以就有人想把它独立出来用。所以就有了解析器。
现在这个解析的 Rust 版本来了。目前处于早期阶段,可以玩儿了。
From 日报小组 @Mike
日报订阅地址:
评论区
写评论性能对比果然夸张,期待着大批js库使用rust重新实现后,对整个生态带来的性能大跃进