4 ms·
That's a good point. I had in mind that there's some regret about the combination of type inference with type-based overloads, due to the search expense it adds
by easeout 2y ago
That's a good point. I had in mind that there's some regret about the combination of type inference with type-based overloads, due to the search expense it adds to what ought to be straightforward parsing of long expressions.
- fastball 2y agoYeah, I think there are definitely parts of the language design / language features that are going to contribute, but when you need to parse to IR and then compile that to machine code, it seems any features you add that are nice for the developer are going to doubly hurt compile times. You see the same with ARC in swift (or the borrow checker in Rust).
- Rohansi 2y agoAFAIK those language features are all handled in the frontend before outputting LLVM IR. LLVM optimization, code generation, linking, etc. should all be the same regardless of the source language.
- easeout 2y agoI don't know about that example—when ARC was added to Objective-C back in the day, I don't remember clang feeling any slower as a result.
- saagarjha 2y agoParsing IR and lowering it is not the reason why compiling Swift is slow.