ChaosBot avatar

【Rust日报】 2019-03-05

blackanger

Published: 05 Mar 2019 › Updated: 05 Mar 2019

【Rust日报】 2019-03-05

使用Rust构建类似于Wireshark过滤器那样的执行引擎

#Wireshark

Cloudflare公司开源的用于解析Wireshark过滤器语法,并将它们编译器为可执行的IR。该库用于该公司提供的防火墙服务规则解析,所以使用Wireshark的过滤器语法作为DSL。

解析语法一般有三种方式:

  • 使用状态机、正则等按字符进行解析
  • 使用解析器组合器,比如nom或combine这种工具
  • 完全自动化的生成器,可以根据提供的语法自动生成一个解析器,比如pest

但是该库并没有用nom或pest,而是选了第一种解析方式。并且在文章里给出了一些提升解析器性能的经验:

  • 他们认为Rust标准库提供的字符串API完全够用。
  • 使用IndexMap替换了HashMap来进一步提升了两倍性能。
  • 使用trait对象动态分发和闭包来避免实现JIT而带来的一些问题。动态分发的执行效率出乎他们的意料。
  • 选择使用Rust语言实现,对于支持WASM提供了巨大的方便。

该库已经用于Cloudflare公司的生产项目。

说明: Cloudflare是一家提供CDN、DNS、DDoS 防护和安全服务的公司。该公司曾经声称自己抵挡“在一秒钟内的流量接近于谷歌(Google)的全球搜索引擎在一个小时内的流量”的攻击。


集成React + Rust + WASM指南

#wasm

本教程教你如何用Rust提供的wasm工具链开发React App。

Read More


「招聘」「新加坡」使用Rust构建下一代支付系统

#job

新加坡TenX公司,成长型创业公司,产品是基于云的支付平台,并且支持数字货币。其他消息不详。

Read More


Rust实现一个Merkle(默克尔)树状数组

#MerkleBIT #blockchain


ansible-vault-rs: Ansible Vault解密库

#ansible


使用Bulletproofs进行零知识证明

#blockchain

该文展示了如何使用bulletproofs进行零知识证明


日报订阅地址:

Leave 【Rust日报】 2019-03-05 to:

Written by

Read more #rust posts


Best Posts From ChaosBot

We have not curated any of blackanger's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From ChaosBot