(no title)
rienko | 5 years ago
Compiling isn't fast. By the language design it won't ever be possible to be in the same ballpark as golang. It's common for us that our 5k lines app, take >1m to build in release mode as we added more and more dependencies for integrations with different nosql databases (elastic, rocksdb etc).
Using LLVM as backend is great for getting top notch performance, but to generate multiple IR methods for each type signature consumes a lot of time, especially when doing optimisation in release mode builds. I guess it's a similar problem that cranelift is trying to fix in Rust.
Open classes makes it hard to cache compilation results from dependencies / libraries.
devmunchies|5 years ago
Yes, for this reason I think crystal could be one of the best languages for microservices or faas.