本文转载自:https://rust.cc/article?id=6a5a2ee3-1373-4184-be5e-8a138f82c7d3
《Rust编程之道》读者答疑:每个章节副标题名言代表的意义
#thetaoofrust
dodrio: 基于Bump内存分配的虚拟Dom实现
#wasm #virtualDOM
dodrio的作者写文章介绍了dodrio实现的一些细节。它是使用Rust和WASM实现的虚拟dom库。该库的作者为了实现此库,还专门和React、Elm和Ember团队的核心开发人员讨论了很多想法。并且Mozilla负责WebAssembly标准制定的Luke和Rust核心团队的Alex都参与了该项目的设计?看来这个库不是玩票。
Bump内存分配算法,是一种快速但有限的分配算法,分配器会维护一块内存以及指向该内存的指针,当分配一个对象时,分配器将指针会按该对象的对齐规则来分配内存,并且快速测试指针有没有溢出。
pulldown_cmark 0.3 发布
#markdown
pulldown_cmark是用Rust编写的CommonMark markdown标准的高性能解析器,刚发布了0.3版本。这篇文章中还介绍了该团队优化0.3版本性能的一点心得:
- 为了增加解析速度,快速构建和遍历AST,他们使用了indextree crate。
- 在没有严格要求的情况下,永远不要复制或分配内存。只用引用,以及在新版本中使用了一种新的写时复制类型(类似于
Cow<T>
)
我查了下源码,他们用的写时复制类型叫 CowStr
#[derive(Debug, Eq)]
pub enum CowStr<'a> {
Boxed(Box<str>),
Borrowed(&'a str),
Inlined(InlineStr),
}
pub struct InlineStr {
inner: [u8; DOUBLE_WORD_SIZE],
}
应该是根据自己的场景定制的。
「BlogOS系列教程」分页实现
#blogos
最新的这篇文章展示了如何在内核中实现分页。
该系列教程的中文翻译可以关注: 知乎专栏:做一枚爱生活的Rustacean
purple: Rust实现的一个现代化的开放区块链协议
#blockchain
Purple号称是一种先进的,实验性的开放式区块链协议,从第一天开始设计就注重可扩展性和完全去中心化。它可以在高峰时间达到每秒多达50000个事务。基于一种新的共识,半同步工作证明(简称SSPoW),因为它提供的异步扩展优于传统的基于工作证明的同步共识。
不管吹的如何,新项目先关注下。代码完成度很高。
redisql: Rust实现的Redis模块
#redis
内嵌了sqlite数据库
「官方会议讨论视频记录」Rust Unsafe代码指南讨论
#UnsafeRust
这是Rust官方不安全工作组的讨论视频记录,主题是Unsafe Rust代码指南。一共六个人参与讨论,大家感兴趣可以看看。
bacon: 使用Speck算法对任意结构进行加密和解密
#speck #decrypts #encrypts
日报订阅地址: