[flac-dev] Performance checks

Janne Hyvärinen cse at sci.fi
Mon Jun 3 09:32:47 PDT 2013

On 3.6.2013 14:24, Miroslav Lichvar wrote:
> On Sat, Jun 01, 2013 at 02:33:55PM +0300, Janne Hyvärinen wrote:
>> On 1.6.2013 14:24, Janne Hyvärinen wrote:
>>> I can confirm. I see 10% speed improvement with that change on Core i7.
>>> Decoding a 1h18min38.133s long test FLAC -8 encoded file takes with
>>> normal asm optimizations 7.656s (speed: 616,266x realtime) and with that
>>> tiny change 6.937s (speed: 680,140x realtime).
> Thanks for the testing.
>> I noticed a side effect for this change. Encoding got a bit slower at
>> least when md5 checksumming is enabled.
> That's odd. How much slower was the encoding? Could it be caused by
> increase in the size of the function (only with -funroll-loops?) and
> not fitting in the cache during encoding?
> It might be good to use -funroll-loops only with some files, IIRC it
> helped most to stream_encoder.c.

I neglected to mention that the testing was done with MSVC 2012 and on 
I did some futher testing after your mail and noticed that with GCC the 
encoding speed is unaffected. Decoding speed increase is not as big as 
with MSVC, only 7% improvement with it.

With MSVC the drop in encoding speed with my test file is 0.4%.

Other perhaps interesting speed results:
MSVC compile with unaltered sources is 1.9% faster than GCC at encoding.
GCC decoding is 8% faster than MSVC before the modification and 5.6% 
after the modification.
These results are without changing any compiling options on either compiler.

More information about the flac-dev mailing list