基于 Arena 的解析器
2024-05-08
这篇文章介绍了一种基于 Arena 的 Rust 解析器,用于解析 Ruby 代码。作者通过使用 Arena 分配器和侵入式数据结构,消除了堆分配,并将解析速度提高了 2 倍。解析后的抽象语法树(AST)位于 Arena 上,可以轻松地写入磁盘或进行内存映射,方便缓存。文章还讨论了基准测试、火焰图、内存使用优化和 AST 缓存等方面的内容。
阅读更多
43