[tremor] [PATCH] another additional 15% performance gain
timmy brolin
timmy at home.se
Wed Oct 9 16:50:19 PDT 2002
May I suggest that you also include the linear interpolation of the large 4096 and 8192 size sin and cos mdct tables under the _LOW_ACCURACY_ define, and keep the full tables by default?
After all, linear interpolation does result in lower accuracy.
---
Timmy
-----Original Message-----
From: Nicolas Pitre <nico at cam.org>
To: tremor at xiph.org
Date: Wed, 9 Oct 2002 14:29:44 -0400 (EDT)
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.diff.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?
<p>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.
<p><p>--- >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