4 ms·
How bad are the compile times? My understanding is that the compile times are currently bad, and they can't be improved without fundamental changes to the lang/
by davidatbu 2y ago
How bad are the compile times? My understanding is that the compile times are currently bad, and they can't be improved without fundamental changes to the lang/type system.
- compumike 2y agoIt depends a lot on compiler flags, especially "--release". See https://crystal-lang.org/reference/1.13/man/crystal/index.html#release-builds https://crystal-lang.org/reference/1.13/man/crystal/index.ht... : "Compiling without release mode is much faster and the resulting binaries still offer pretty good performance. Building in release mode should be used for production-ready executables and when performing benchmarks. For simple development builds, there is usually no reason to do so." For our API server https://api.heiioncall.com/ https://api.heiioncall.com/ , on my Ryzen 5950X, with a warm CRYSTAL_CACHE_DIR ("where Crystal caches partial compilation results for faster subsequent builds"), making a one-line change: Without --release: 6.11user 2.37system 0:08.19elapsed 103%CPU (0avgtext+0avgdata 590844maxresident)k With --release: 76.54user 5.49system 1:25.16elapsed 96%CPU (0avgtext+0avgdata 696876maxresident)k So let's call it about 9 seconds while developing, or 90 seconds for a CI build with full release optimizations.
- davidatbu 2y agoThan you so so much!