• Software
  • How did Fabfilter make the EQ more efficient?
2014/09/06 19:56:34
The Maillard Reaction
How did Fabfilter make the EQ more efficient?:
 
"Highly improved CPU optimization: Pro-Q 2 uses less memory and is more than twice as efficient as its predecessor!"
 
Was it the EQ math? The eye candy graphical animation? Something else?
 
It seems to me that it would be hard to make a dsp EQ twice as inefficient as some other EQ, as long as you are comparing like to like conditions such as "natural phase" or "linear phase" mathematics.
 
This leaves me wondering; what was going on with the previous version of FF EQ that was not mentioned in the numerous reviews I have read? It leaves me wondering how/where/why Fab Filter was able to find so much opportunity for improvement while adding all sorts of features like extra poles (a.k.a. the new slope choices) and even slicker graphic features.
 
Anyone?
 
 
 
2014/09/06 21:51:29
drewfx1
"CPU optimization" can mean the architecture/implementation, not the math/algorithm. 
 
See: http://en.wikipedia.org/wiki/SSSE3
2014/09/06 22:27:04
bitflipper
Optimization usually comes after the initial release and after thorough debugging and the trial by fire that is thousands of users banging away at it in unexpected ways. You don't typically optimize the first version heavily, as working right is more important than working efficiently, and optimizations are notorious for destabilizing code.
 
You really can't start optimizing until your algorithms are in place and rock solid. It's mostly a time-consuming job consisting of a great many tiny improvements, each of which might shave off only a couple microseconds or a few clock cycles, but in aggregate can accumulate into milliseconds. Once in awhile you find a way to make some routine way, way faster just by re-thinking its logic. If it's a low-level function that gets called often, the improvement can be dramatic.
 
Optimization usually doesn't involve changing algorithms, but rather making existing algorithms more efficient. Little things like using a rotate-right instruction instead of dividing by two, replacing functions with inline macros, using integer math where appropriate, or not checking a variable for validity in a loop once you're sure it'll always be valid. You can only do these things after you've achieved a high degree of confidence in the algorithms and have a good test suite to verify that the optimized version produces exactly the same results as before.
 
Some optimizations are as easy as updating your compiler. Compilers keep getting smarter about optimizing on the fly. So at least some of the speed-up could just come down to using a new compiler. 
 
2014/09/07 08:23:28
The Maillard Reaction
Well then, I'm all for this CPU optimization stuff. ;-)
 
I imagine I'll be installing the latest FF Pro-Q 2 any day now. :-)
 
Thanks for the thought provoking answers.
 
 
 
 
2014/09/07 13:16:26
Ruben
Nice explanation, Bit.  
2014/09/07 13:21:05
bapu
smaller lines.
 
simples.
2014/09/07 18:32:53
Eddie TX
Bit has given a good summary of what optimization entails.  It's a very complex field ... many books and advanced university courses are devoted to the subject, but it's not something that very many programmers are good at.  There's not a lot of software that ever gets optimized to a great degree, and there's no end point where you say it's done -- there's always some little-known trick that shaves another microsecond or two off an operation.  Thus, optimization efforts are never finished, only abandoned. 
 
Hmm, that reminds me of another process most of us are familiar with ... 
 
Anyway, the fact that Pro-Q's efficiency has been improved this much is a testament to the FF guys' programming skills.  They know what they're doing, for sure. 
 
Cheers,
Eddie
 
2014/09/07 19:09:06
The Maillard Reaction
It seems like "optimization" should be a selling point, perhaps to justify a premium price, and not-yet-optimized might be considered not quite as good.
 
It would be nice to have a way to learn what is and isn't.
 
I have all the FF stuff. I think of it as ok, and I'll be buying the Pro-Q2 *just because*.
 
I hope they do some work on the sound and the curves of their Pro-C next. If they optimize it too then I'm gonna be giddy.
 
2014/09/07 19:09:06
The Maillard Reaction
dual mono post ^
 
2014/09/07 19:23:12
The Band19
Focusing only on the parts that need fixing, and by keeping the weak out of tweaking. Now if they could only take the work out of twerking... You guys should really look in to Twin2 by FF (a sound design/synth tool) It's pretty cool too.
 
https://www.youtube.com/watch?v=Ir2mZnC51nw
 
© 2026 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account