Hello,
Benchmark of a loop doing './sbcenc big_buck_bunny_480p_stereo.au > /dev/null'
is listed below. The number of iterations was different for ARM and x86, so
absolute times for x86 and ARM can't be directly compared :)
=== ARM Cortex-A8 ===
before:
real 0m 12.51s
user 0m 11.00s
sys 0m 0.58s
after:
real 0m 11.50s
user 0m 10.04s
sys 0m 0.54s
=== Intel Core2 ===
before:
real 0m12.139s
user 0m11.817s
sys 0m0.300s
after:
real 0m10.074s
user 0m9.797s
sys 0m0.256s
===
Overall improvement is more visible on x86, but it is still good for ARM too.
Code size increases quite noticeably, but this seems to pay off anyway.
--
Best regards,
Siarhei Siamashka
Hi Siarhei,
On Jan 21, 2009, at 22:36, Siarhei Siamashka wrote:
> Added the use of -funroll-loops gcc option for SBC. Also in
> order to gain better effect, 'sbc_pack_frame' function
> body moved to an inline function, which gets instantiated
> for 4 different subbands/channels combinations. So that
> 'frame_subbands' and 'frame_channels' arguments become compile
> time constants and can be better optimized by the compiler.
The patch has been pushed upstream. Thanks.
Johan