Only define the type name table in the main LLVM module#16260
Conversation
|
TLDR: Thank you very much, @HertzDevil — it works on my machine! 🎉 Since v1.17.0, GHA could no longer compile my application — same for nightly builds. The last stable version that worked fine is v1.16.3:
I built Crystal 1.17.0 with LLVM 20 and saw much higher disk writes and memory usage.
The amount of files in the cache folder (~8800) did not change, This PR significantly improves the stats:
Amazing work by @HertzDevil — super fast at finding and fixing the issue! 🙌 My learning section from @HertzDevil:
for me, |
#15904 made every LLVM module that references the
#aspseudo-method define its own copy of__crystal_type_id_to_class_name_map, when only one copy in the main LLVM module is sufficient. This PR brings the total cache size of the compiler itself from 234 MB to 148 MB on my Windows machine, for example.