重写Rust的设想 2024-09-26 本文作者表达了对Rust语言发展缓慢的不满,并提出了自己理想中的Rust语言改进方案。作者认为Rust语言像第一代iPhone,虽然惊艳但仍有缺陷。文章列举了Rust语言存在的缺陷,例如协程功能停滞不前、编译时间过长、Pin机制复杂难用等。作者提出了改进建议,包括引入函数特征(effects)、编译时功能、结构体借用、编译时代码执行等,并详细阐述了这些改进带来的优势。 阅读更多 (josephg.com) 25 未分类
CRDTs 性能优化冒险之旅 2024-08-28 文章探讨了如何优化 CRDTs (无冲突复制数据类型)的性能,以实现更快的实时协同编辑。作者首先指出现有 CRDT 库(如 Automerge)的性能瓶颈,主要在于其树形数据结构和过度依赖 Immutable.js。作者介绍了 Yjs 如何利用扁平列表和缓存机制提升性能,并详细解释了其内部机制。最后,作者展示了其用 Rust 开发的 CRDT 库 Diamond Types,通过使用范围树和内存优化,实现了比 Yjs 更高的性能。 阅读更多 (josephg.com) 48 未分类 实时协同编辑