On 3/13/17 12:45 PM, Diego Biurrun wrote: > On Sat, Mar 11, 2017 at 11:33:31AM +0100, Luca Barbato wrote: >> On 09/06/2016 17:12, Diego Biurrun wrote: >>> From: Alexandra Hájková <[email protected]> >>> >>> --- >>> libavcodec/vorbis_parser.c | 32 +++--- >>> libavcodec/vorbisdec.c | 237 >>> +++++++++++++++++++++++---------------------- >>> 2 files changed, 135 insertions(+), 134 deletions(-) >> >> Uoti pointed out that might be nicer to have it in sooner than later. > > This needs further performance investigation first. All x86 benchmarks > show a slowdown, in both 32 and 64 bits.
I had a look. Raw data: https://gist.github.com/lu-zero/171c854498ba934cdb7bae385f045e5b#some-benchmarks-using-perf-to-see-whats-going-on In some spreadsheet: https://docs.google.com/spreadsheets/d/1V0f-YNauz1SrRBO3jzJtOsA97Z1XnPGBMbvI0sYrhFA/edit#gid=0 LT;DR: - The compiler choice has more impact than the actual change - force-inlining the function helps in most the cases beside arm32+clang. - clang-4 works much better on x86/x86_64, gcc-6.3 does a better job on arm/arm64 - 64bits actually get a tiny speedup and beside the arm32+clang combination 32bit doesn't have such huge slowdown. I'll send a patch to add the av_always_inline when needed in a bit. lu > > Diego > _______________________________________________ > libav-devel mailing list > [email protected] > https://lists.libav.org/mailman/listinfo/libav-devel > _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
