Programming languages without garbage collection send us down a long path of design decisions that lead to slow compile times and fragile runtime performance cliffs.
-
-
It's not that instantiating vector<t> is slow. It's that all of ancillary things like map<vector<t>,function<t,u>> or whatever grow combinatorially. And mostly these exist because of missing subtyping relations, especially of the missing universal type.
-
This combinatorial aspect is definitely there, but, C++ compilation times are *way* slower than they would be with a better compilation model ... superlinearly so. If big programs compiled 1000x faster, would this feel like as big a problem?
- 16 more replies
New conversation -
-
-
I actually found compilers for garbage collected langs to be even slower than C++ ones (eg: typescript or java on android) With C/C++ you can at least architect your codebase such that it compiles fast. Jon's lang has very impressive compile times so clearly its not impossible.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
The slow part in C++ comes mostly from repeated parsing of included STL headers with complicated and mostly unused C++ templates. C++ modules should address that. In the mean time use jumbo builds or other tricks that can cut the build time by factor of 3.
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
-
-
I suspect the real problem is that you don’t control the language and compiler. When you have a sufficiently large core base, using a custom language and compiler opens up a new set of levers that help in solving problems like compile times.
-
What I said may sound crazy, but I’ve been going down that path for many years now and the results appear promising.
End of conversation
New conversation -
-
-
Good thing you brought this up. Now in UE4, why is there so much code in headers as opposed to .cpps ? And secondly, can we know how much faster UE4 would compile if there weren't any Class.generated.h/cpp ?
Thanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.