On Wed, May 29, 2013 at 04:08:57PM +0200, Martijn van Beurden wrote: > I was surprised to see that the Windows compile on wine actually > outperformed the native Linux one. Probably GCC 4.6 optimized a little > better or something very weird is going on in wine, I don't know. The > assembly optimizations work very well on encoding, but actually slow > things down when decoding. The difference is not very large however.
In a quick test with a pre 4.8 gcc on a Core 2 CPU I see a small improvement in decoding speed with assembly optimizations turned on, but I think the difference used to be larger. Perhaps the compilers got better or MMX is slower relative to normal code on current CPUs. Disabling the FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap function seems to help a bit. (there is an #if disabling the function with comment "OPT: not clearly faster, needs more testing" in the src/libFLAC/stream_decoder.c file) Here is the relative decoding speed with -5 and -8: -5 -8 no asm 99.0% 97.0% asm 100.0% 100.0% asm (no ia32_bswap) 102.7% 102.7% I think we should drop that assembly function as the C version seems to be faster now. Can anyone confirm this? Thanks, -- Miroslav Lichvar _______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev