{"title":"纯 Julia 中的高性能动态类型电子图","authors":"Alessandro Cheli, Niklas Heim","doi":"arxiv-2404.08751","DOIUrl":null,"url":null,"abstract":"We introduce the third major version of Metatheory.jl, a Julia library for\ngeneral-purpose metaprogramming and symbolic computation. Metatheory.jl\nprovides a flexible and performant implementation of e-graphs and Equality\nSaturation (EqSat) that addresses the two-language problem in high-level\ncompiler optimizations, symbolics and metaprogramming. We present results from\nour ongoing optimization efforts, comparing the state-of-the-art egg Rust\nlibrary's performance against our system and show that performant EqSat\nimplementations are possible without sacrificing the comfort of a direct 1-1\nintegration with a dynamic, high-level and an interactive host programming\nlanguage.","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"63 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-04-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Performant Dynamically Typed E-Graphs in Pure Julia\",\"authors\":\"Alessandro Cheli, Niklas Heim\",\"doi\":\"arxiv-2404.08751\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We introduce the third major version of Metatheory.jl, a Julia library for\\ngeneral-purpose metaprogramming and symbolic computation. Metatheory.jl\\nprovides a flexible and performant implementation of e-graphs and Equality\\nSaturation (EqSat) that addresses the two-language problem in high-level\\ncompiler optimizations, symbolics and metaprogramming. We present results from\\nour ongoing optimization efforts, comparing the state-of-the-art egg Rust\\nlibrary's performance against our system and show that performant EqSat\\nimplementations are possible without sacrificing the comfort of a direct 1-1\\nintegration with a dynamic, high-level and an interactive host programming\\nlanguage.\",\"PeriodicalId\":501033,\"journal\":{\"name\":\"arXiv - CS - Symbolic Computation\",\"volume\":\"63 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-04-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Symbolic Computation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2404.08751\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Symbolic Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2404.08751","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Performant Dynamically Typed E-Graphs in Pure Julia
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.