[flac-dev] 1.21 vs 1.3 encoding speed

lvqcl lvqcl.mail at gmail.com
Sat Jul 26 15:46:38 PDT 2014


Erik de Castro Lopo wrote:

>> I just built FLAC and noticed that the size of flac.exe is noticeably bigger,
>> so I compared the generated Makefiles before ang after this change.
>>
>> The difference is: "-g -O2" options were added to CFLAGS.
>>
>> before:
>> CFLAGS = -O3 -funroll-loops -Wall -W -Winline -Wall -Wextra -Wstrict-prototypes
>> -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow
>> -Wundef -Wmissing-declarations -Wunreachable-code  -Wdeclaration-after-statement
>> -D_FORTIFY_SOURCE=2 -msse2 -Wextra
>>
>> after:
>> CFLAGS = -O3 -funroll-loops -Wall -W -Winline -g -O2 -Wall -Wextra
>> -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align
>> -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Wunreachable-code
>> -Wdeclaration-after-statement -D_FORTIFY_SOURCE=2 -msse2 -Wextra
>
> Well -g asks the compiler to add debug symbols. What hapens if you strip
> the binary?


After stripping: the binary is smaller than previously (520kB vs 652kB).

Probably that's because the compiler now uses -O2: according to
<https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Optimize-Options.html>
"If you use multiple -O options, with or without level numbers,
the last such option is the one that is effective" which means that
GCC doesn't try to use SIMD to vectorize the code, etc.


More information about the flac-dev mailing list