Comment by uecker
16 days ago
Maybe it is similar for the same compiler (but one should check, I suspect C could still be faster), but then there are much more C compilers. For example, TCC is a lot faster than GCC.
16 days ago
Maybe it is similar for the same compiler (but one should check, I suspect C could still be faster), but then there are much more C compilers. For example, TCC is a lot faster than GCC.
tcc is 8x faster, twice as fast isn't doing it justice.
As for the header thing, that'd could potentially be true if the compile time was something like 450ms -> 220ms, but why bother saying it when you're only saving a few hundred milliseconds
Going from 220 to 450 ms would be a disaster in my project. It has many thousands of files. Recompilation of almost everything happens from time to time.
If those made-up numbers were true, they would be very significant and an argument in favor of keeping the code in C
A 200ms difference is adding or removing 200lines lines of implementation, and spliting it up into a file can make it slower because of include overhead. You completely made up C being twice as fast as C++.
The question is the performance optimisations on top.
1990's compilers were also super fast, they only did optimisation for size, speed, constant propagation, and little else.
Zero code motion, loop unroling, code elision, heap via stack replacement, inlining,...
Of course, but gcc with -O0 is still slower and there is no TCC for C++.
There are other C++ compilers to benchmark against, using the same common C subset for comparison, though.
3 replies →