That document is from 2002 - today all these suggestions make little sense 
unless you want your code to run explicitly on a CPU without SSE.
The best strategy for avoiding denormals is to enforce the compiler to use SSE 
and avoid the FPU, then set the Denormals-Are-Zero (DAZ) and Flush-To-Zero 
(FTZ) flag in the SSE status register.

Stefan



> On 10 Mar 2017, at 7:27 , Michael Gogins <michael.gog...@gmail.com> wrote:
> 
> Here is much more complete information:
> http://www.musicdsp.org/files/denormal.pdf
> 
> Hope this helps,
> Mike
> 
> -----------------------------------------------------
> Michael Gogins
> Irreducible Productions
> http://michaelgogins.tumblr.com
> Michael dot Gogins at gmail dot com
> 
> 
> On Fri, Mar 10, 2017 at 5:06 PM, Evan Balster <e...@imitone.com> wrote:
>> Hey, Stephen —
>> 
>> For best performance, I recommend following Michael's suggestion about
>> adding some noise to the waveform.  Or use platform-dependent techniques to
>> enable flush-to-zero on the CPU.  Conditionally flushing works, but it takes
>> up cycles — and with filters you often want as much performance as you can
>> get!
>> 
>> – Evan Balster
>> creator of imitone
>> 
>> On Thu, Mar 9, 2017 at 11:11 PM, ChordWizard Software
>> <corpor...@chordwizard.com> wrote:
>>> 
>>> Hi Michael,
>>> 
>>> Many thanks, denormal numbers it was.
>>> 
>>> I have now added a check after each filter calculation point that flushes
>>> small numbers to zero.
>>> 
>>> With this extra step, the filter now consumes about 30% less time than the
>>> rendering phase, instead of 800% more!
>>> 
>>> I never knew about this, looks like a real trap, for very little benefit.
>>> If people are looking to squeeze out a few more digits of precision or
>>> exponent limit, surely the sensible thing is to switch to doubles?
>>> 
>>> There doesn't seem to be any consistent way to switch this annoying
>>> "feature" off in standard C++, but at least I am forewarned now, and the
>>> performance benefit hugely outweighs the cost of my messy little hack to
>>> circumvent it.
>>> 
>>> Thanks for the quick and insightful advice.
>>> 
>>> Regards,
>>> 
>>> Stephen Clarke
>>> Managing Director
>>> ChordWizard Software Pty Ltd
>>> corpor...@chordwizard.com
>>> http://www.chordwizard.com
>>> ph: (+61) 2 4960 9520
>>> 
>>> 
>>> _______________________________________________
>>> dupswapdrop: music-dsp mailing list
>>> music-dsp@music.columbia.edu
>>> https://lists.columbia.edu/mailman/listinfo/music-dsp
>>> 
>> 
>> 
>> _______________________________________________
>> dupswapdrop: music-dsp mailing list
>> music-dsp@music.columbia.edu
>> https://lists.columbia.edu/mailman/listinfo/music-dsp
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp

_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to