纯 Julia 中的高性能动态类型 E-Graphs
Performant Dynamically Typed E-Graphs in Pure Julia
AI总结:
本文介绍了 Metatheory.jl 第三版,通过实现高性能的 e-graphs 和 Equality Saturation 解决了高级语言元编程中的双语言问题,证明了在不牺牲与动态宿主语言直接集成舒适性的前提下,其性能可媲美 Rust 的 egg 库。
摘要:
我们介绍了 Metatheory.jl 的第三个主要版本,这是一个用于通用元编程和符号计算的 Julia 库。Metatheory.jl 提供了 e-graphs 和 Equality Saturation (EqSat) 的灵活且高性能的实现,解决了高级编译器优化、符号计算和元编程中的双语言问题。我们展示了持续优化工作的结果,将最先进的 egg Rust 库的性能与我们的系统进行了比较,并表明在不牺牲与动态、高级和交互式宿主编程语言直接 1-1 集成的舒适性的情况下,高性能的 EqSat 实现是可能的。
英文摘要:
We introduce the third major version of Metatheory.jl, a Julia library for general-purpose metaprogramming and symbolic computation. Metatheory.jl provides a flexible and performant implementation of e-graphs and Equality Saturation (EqSat) that addresses the two-language problem in high-level compiler optimizations, symbolics and metaprogramming. We present results from our ongoing optimization efforts, comparing the state-of-the-art egg Rust library's performance against our system and show that performant EqSat implementations are possible without sacrificing the comfort of a direct 1-1 integration with a dynamic, high-level and an interactive host programming language.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。