4 ms·
That is definitely true, but from the article it's the backend that takes time, not the frontend where the language itself resides. If you compile go from llvm,
by makapuf 3y ago
That is definitely true, but from the article it's the backend that takes time, not the frontend where the language itself resides. If you compile go from llvm, it maybe as long as rust.
- KingOfCoders 3y agoI wonder why we do not split up compilation more - especially for web developer. Rust does this a little with "check", C with "-O". I want fast compilation for my dev cycle or for unit tests, I want slow compilation with optimizations, escape analysis, correctness etc. for production (the distinction between a compiler and linter is also not clear, some compiles do what linters do in other languages).
- jokethrowaway 3y agoWe do, you have profile configuration for dev or for release You can get pretty big differences in terms of compile speed / binary size
- IshKebab 3y agoGiving up entirely on the compile time of "performance" builds can be bad too though, e.g. for people writing games, audio software, etc.
- bluGill 3y agoOnly if you need to test the full game. If you can unit test algorithms and learn something then fast builds matter.
- GrumpySloth 3y agoIt’s not just Rust. Practically every compiler based on LLVM is slow. Swift, Zig, Clang. The Go compiler being written from scratch based on the Plan9 C compiler is a huge advantage.
- txdv 3y agoZig is moving away from LLVM. Its already has its own backend targeting debug builds for x86 and arm. ReleaseFast and ReleaseSmall is an entire different beast, but its going to be tackled eventually.
- rvdca 3y agoI will chime in to day that rust is also building a alternative to the LLVM backend in the form of cranelift : https://github.com/rust-lang/rustc_codegen_cranelift https://github.com/rust-lang/rustc_codegen_cranelift
- kjksf 3y agoMinor correction: Go compiler used to be a modification of Plan9 C compiler, then a Go port of that modification but then it was completely rewritten as a SSA-based compiler so today it has almost nothing to do with the original Plan9 code.