[linux-audio-user] CPU clock - beware - Solved for now?

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

 



Malcolm Baldridge wrote:
>>i imagine you'd have a blast at somewhere like this:
>>
>>http://forums.gentoo.org/viewtopic.php?t=5717
>>
>>(there's bad and good advice in there)

> You also tend to be roadkill for subtle/bizarre bugs in the code optimiser
> when you crank it up to maximum levels like that.  I instinctively distrust
> that zone, myself.

Grzegorz Prokopski working on SableVM has built this inlinability 
testing framework that (if I understand correctly) basically precompiles 
each bytecode instruction and executes it, looks for violations of what 
gcc promises, and then uses this profile info to generate a final build, 
for something like 10 different architectures.  Sort of a macro-scale 
"we don't trust gcc" approach to optimization :/

> It often looks "noisy" or "simple and inelegant", i.e., hoisting invariant
> stuff to temporary vars which are locally declared so the stack frame usage
> is kept to a minimum, or even better, the # of vars can fit nicely into
> registers.  But it ends up compiling to faster-running code than "elegantly
> written" C did. 

Just imagine if all the man-hours people put into hinting compilers and 
hand-optimizing code were put into developing an optimizing compiler...

Still, I think doing things like reading and writing heap data in bursts 
will help you for a long time yet ... not to mention making a single lib 
file that simply #include's all of your real source files (I never 
understand these builds that compile each C file to an object file 
separately, and then link them together -- people tell you to do this 
because it _compiles_ faster if you change something ... so what?!?)

> Compilers *ARE* improving... there was a time though when I couldn't rely on
> them to reduce an integer unsigned multiplication/division by a constant
> power-of-2 to a bitshift.

Somebody ought to write a library of slow math workarounds, for cases 
where you know you can do it faster using the fast operators, but the 
compiler doesn't.  Actually, this might exist, I just haven't looked.

Cheers,
Chris

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux