Posted Aug 9, 2012 23:48 UTC (Thu) by mathstuf (subscriber, #69389)
In reply to: Day: GNOME OS by ibukanov
Parent article: Day: GNOME OS
I agree that C++ is slower to compile, but as I said elsewhere:
> As for build times, yes, it's higher, but I don't really notice that much of a practical difference and what difference there is is well worth the extra safety the code has.
Unfortunately, a fair comparison can't be made without ensuring at least feature parity between the C and C++. You also have to compare bug counts and code ease-of-use (for users of the code/APIs, developers, and maintainers) and in this, C++ is a big win IMO.
The C++ SpiderMonkey has more features today than it used to have (I expect) and you have to weigh how long it took to code those features versus how long it would have taken with the C codebase to get the same features against the increased build times.
As for using a netbook, I don't know what my limits for patience would be anymore. After using my i7 and Xeon machines at work, even my Core 2 Duo was getting me impatient with builds. I don't do much beyond script-level stuff (usually Haskell, shell, or Python) or minor web development on the netbook anymore mainly due to the tiny screen (my terminals at work are 319 wide and 88 tall and netbooks just don't fit 3 80-wide Vim windows plus NERDTree on them at readable font sizes).
Posted Aug 10, 2012 10:38 UTC (Fri) by jwakely (subscriber, #60262)
[Link]
A large part of slower C++ build times is in the linker, not just the compiler. Using Gold makes a big difference.
Day: GNOME OS
Posted Aug 10, 2012 20:05 UTC (Fri) by ibukanov (subscriber, #3942)
[Link]
Surely C++ brought a lot of nice things like templates and destructors for automated cleanup significantly simplifying the code in SpiderMonkey. However, a significant compilation time increase also meant that hardware that developers use is way beyond capabilities of the most computers where Firefox runs. So it is much harder to extrapolate the effect of changes that looks nice on fastest CPU during development to the hardware that users will face.