On Sun, Apr 3, 2011 at 12:34 AM, Martin Guy <[email protected]> wrote: > Hi! > Revisiting my armel patches for lenny/Crunch, I noticed that libgsm > buillds its integer version on arm*: > > debian/rules: > > ifneq (,$(filter arm%,$(DEB_HOST_ARCH))) > MULTYPE='' > else > MULTYPE='-DUSE_FLOAT_MUL' > endif > > The same is true of speex: > > ifeq ($(DEB_HOST_ARCH_CPU),arm) > objdir = $(objdir_fixedpoint) > EXTRA_CONFIG_FLAGS = --enable-arm4-asm > endif > > When I compiled these for MaverickCrunch FPU, I found that the > fixed-point version was faster than the Crunch version (but the Crunch > is a fairly slow FPU) > I don't know what the speed difference would be for armhf - the more > powerful FPU may win.
Short answer is 'it depends'. I had a go with this a few months ago and got the following results on a 30 minute 16000 Hz wideband (sub-band CELP) mode (stereo) sample: Cortex-A9: 19.749 s (float), 20.434 s (--enable-fixed), 19.439 s (--enable-fixed --enable-arm5e-asm) Cortex-A8: 119 s (float), 32.676 s (--enable-fixed), 35.359 s (--enable-fixed --enable-arm5e-asm) The results were measured using time src/speexdec ~/foo.spx - > /dev/null and taking the best of five runs. I don't know why the ARMv5 code is slower - it could be that the input file isn't triggering the right code paths. --enable-arm5e-asm implicitly also enables the ARMv4 code. -- Michael -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

