DragonFly BSD
DragonFly kernel List (threaded) for 2006-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: warning about 'large-function-growth limit reached'

From: talon@xxxxxxxxxxxxxxxx
Date: Thu, 15 Jun 2006 19:55:24 +0200

Dmitri Nikulin wrote:

> Inlining is still not as dangerous as loop unrolling. Imagine
> unrolling a three-page loop with a thousand iterations. That's three
> thousand pages of separate instructions, for what? I hope gcc handles

Loop unrolling doesn't work this way. It unrolls a loop a small number of
times, likes 4 times if possible. The Intel compiler does that very
systematically, and with very good results. 

> *that* correctly and notices the loop unroll is completely worthless,
> in fact having to load that much more code into cache probably means
> it's a pessimisation. Or compromises and encapsulates the body...

People doing computations try different optimization flags, different
compilers and choose the best for *their* computations. Differences can be
enormous, like twice faster. I have done that myself, a lot.

Michel Talon

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]