Re: new laptop: compiling source for i7 CPUs???
On 11/10/2013 03:02 PM Stefan Monnier wrote:
There are considerable price increases with each quite small increase in
speed-- hundreds of dollars--, but over two or three years I think the extra
dollars would be worth the performance increase... *IF* there
is a noticeable performance increase.
The rule of thumb, in general is that a speed increase smaller than
about 30% goes unnoticed.
Stefan, thanks for your reply.
That 30% sounds about right, but then too I suppose it would also depend
upon how closely the speed is being examined and how perceptually
prominent the executable is and other factors.
This would depend to a large degree upon the code... specifically, if the
code (OS and apps) makes use of the expanded instruction sets of the more
expensive CPUs. Generally the code doesn't, unless gcc/make is configured
for the particular CPU and then that source is compiled. I've done this in
the (distant) past and noticed a significant increase in performance over
the stock executables provided by the distro.
Over time, the "baseline" used by the distros evolves, so by the time
your machine is old, most of its features will be used by the distro.
This is why I'm not interested in the "baseline" used by distros, but
rather in compiling from sources and tailoring compilation to a specific
CPU. This brings up the next issue: how difficult is it in debian to
configure the upgrade process so that it is the sources which are
automatically downloaded and (also automatically) compiled?
But don't forget that most of those new features only affect very
specific programs. Some of them may not even affect any program at all
(e.g. because later improvements in compiler techniques work better than
those hardware assists). IOW it's largely marketing.
True, there is a terrible amount of marketing hype thrown at us with
everything that comes to market, with computers especially. I try to
temper my cynicism though in thinking that the designers and engineers
can and actually intend to produce a better product. The corporation as
a whole should be fully behind them in this endeavor, otherwise
competitors will be eating their lunch. Though my studies never brought
me close to taking a role as such an engineer, I did learn that if
you're going to take the trouble to bring out a new design, the
improvements should be those which bring about the greatest effect,
e.g., those instructions which are most often used. These would be for
naught, however, if the end-user and all players in between don't make
use of the such improvements. E.g., getting a 64-bit system is a
questionable decision if you're going to run nothing but 32-bit software
on it. On the other hand, if you're going to run VMs, then a CPU with
instructions enhanced for that makes sense if you'll be compiling the
code to take advantage of those instructions, and this also assuming
that the compiler is capable of creating such executables.
So there are a lot of factors at play, making it hard for me to
generalize. I've found too that the relevant specifics are really
difficult to dig out, at least in the places I've been digging.
Thanks again for your reply.