Meaning of "caching throughout the compilation flow"?

In Mojo documentation "integrated caching" is mentioned as a new compiler technology. For example, in Why Mojo, there is: "This meant a programming language [...] caching throughout the compilation flow, and other features that are not supported by existing languages." It's not clear to me what it means and I didn't find answers on the web. What does it mean? Is it "just" something like Ccache but integrated to Mojo compiler?
2 Replies
guidorice
guidorice10mo ago
I think "caching" in that context alludes to not just incremental compilation like ccache would provide, but a whole bundle of engineering feats, this is the most technical info that's been shared so far: https://www.modular.com/blog/mojo-llvm-2023, and https://www.youtube.com/watch?v=SEwTjZvy8vw
LLVM
YouTube
2023 LLVM Dev Mtg - Mojo 🔥: A system programming language for heter...
2023 LLVM Developers' Meeting https://llvm.org/devmtg/2023-10 ------ Mojo 🔥: A system programming language for heterogenous computing Speaker: Abdul Dakkak, Chris Lattner, Jeff Niu ------ Slides: https://llvm.org/devmtg/2023-10/slides/keynote/Mojo.pdf ----- This talk will give an overview of Mojo 🔥, a new programming language in the Python fami...
Robert
Robert10mo ago
I presume they are caching the IR transformations (MLIR and maybe LLVM IR transformations). The comment at the end of this video about CAS + MLIR ByteCode being hashable provides the basics. At least for MLIR IRs, you can serialize the IR into byte code and hash that byte code into a key you lookup in the CAS.
Want results from more Discord servers?
Add your server