Originally posted by willmore
View Post
************************************************** ************************************************** *******************
Since I'm personally almost against compiling every program you install, for normal/desktop use at least(nothing wrong, except excessive amount of time sent and danger of literally burning laptops), although for other uses it's also arguable if the times, cpu cycles, etc, are justified too, I use and expect that most others use binary packages. Besides, if the compiler is good enough, cpu and system specific optimizations are pretty much negligible and not worth the time spent(it could be more than what you save .. xP). Add the fact that you CAN occasionally get SLOWER code, especially if you haven't figured the optimal flags for your system(---> testing, more time spent). I don't know, some claim they can just compile in the background and limit compiler's cpu usage(would it be enough to not burn my laptop though? :P). I'd say that still in usecases that reboot/logout/suspend/resume is a significant possibility, it's not so convenient.
So what's my point? When you use binary packages compile time is pretty much insignificant, besides, packages are often compiled in servers and computer clusters sharing a network(if not mistaken) splitting the jobs between many cpu's, resulting in low compile times anyway. I expect many developers to do so as well and I think quite a few do. If they don't have 10+ computers available for compiling they're probably not that good and doing something wrong anyway :P (j/k)
So for most end users and most users of the compiled product time reduction doesn't matter, especially if it comes with some drawback(code deficiency possibly?) and I don't know if it would justify, let's say, rewriting the linux kernel etc, as some might expect.
Of course, improvements of Clang are welcome. But in this case we should compare more things, such as efficiency I think. Besides, I could probably get reversed results with the correct use of compiler flags etc(which don't seem to be mentioned or I can't find them ..).
Comment