[tremor] [PATCH] another additional 15% performance gain

marc dukette dukette at adelphia.net
Wed Oct 9 13:11:55 PDT 2002



ok, very impressive.  Tremor with LOW_ACCURACY defined now performs better
than your orinal port with the FIXP_SPEED flag, when compiled with eVC.  I
will now attempt to get the inlice XPROD functions to actually be inline and
see how that helps.

nice job!!!

----- Original Message -----
From: "Nicolas Pitre" <nico at cam.org>
To: <tremor at xiph.org>
Cc: "Monty" <xiphmont at xiph.org>
Sent: Wednesday, October 09, 2002 2:29 PM
Subject: [tremor] [PATCH] another additional 15% performance gain

<p>>
> This is the completion of my 32 bit only multiply operation patch.  It is
> faster for sure but also less accurate than 64 bit multiplications.  Might
> be handy for slow CPUs or without native 64 bit multiplications, or for
> those out there with poor compilers (any EVC user wants to try out?).
>
> The patch adds a --enable-low-accuracy configure option so this is
> configurable before compiling.  For those not using the configure script
you
> need to globally define _LOW_ACCURACY_ to enable this feature.  Otherwise
> the resulting code remains just like before by default.
>
> Although the audio degradation is mostly inaudible it is still there
> nevertheless.  So this is not recommended if absolute high quality audio
is
> needed.  On the other hand some people will still find the audio quality
> more than acceptable for their use.  This is a price to pay for faster
code.
>
> With _LOW_ACCURACY_ enabled there was also a nice opportunity for text
size
> reduction:
>
> Default configuration:
>
>    text    data     bss     dec     hex filename
>   49607   45256    4160   99023   182cf ivorbisfile_example
>
> With ./configure --enable-low-accuracy:
>
>    text    data     bss     dec     hex filename
>   47655   14632    4160   66447   1038f ivorbisfile_example
>
> The patch is available from:
>
>
ftp://ftp.arm.linux.org.uk/pub/linux/arm/people/nico/vorbis/low_accuracy.dif
f.gz
>
> Although the patch itself is largish, the actual code addition is quite
> small.  The bulk of the patch consists of the addition of a X() on table
> values to preshift them when _LOW_ACCURACY_ is defined.
>
> I'd like to see this patch merged in the CVS at some point.  Monty?
>
>
> Nicolas
>
> --- >8 ----
> List archives:  http://www.xiph.org/archives/
> Ogg project homepage: http://www.xiph.org/ogg/
> To unsubscribe from this list, send a message to 'tremor-request at xiph.org'
> containing only the word 'unsubscribe' in the body.  No subject is needed.
> Unsubscribe messages sent to the list will be ignored/filtered.

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'tremor-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Tremor mailing list