[tremor] Current Tremor work summary / time for ASM work

Monty xiphmont at xiph.org
Wed Apr 9 03:05:04 PDT 2003



Hi folks,

Past the libogg2 rollout (which roughly halved the required memory
dedicated to stream buffering in Tremor), I've been working on a
drastic memory reduction code branch.  cvs update -r lowmem-branch
to evaluate this work.

The initial intent here is to reduce Tremor footprint to as close to
theoretical minimum as possible without exceeding an additional 50%
computational penalty.  Tremor was originally designed for slow
processors with relatively plentiful off-die memory (eg, ARM); this
branch is meant to address faster architectures with more-modest
on-die memory (eg, TI DSPs).

I'm proceeding without drastically altering Tremor at any step, but
the code changes are slowly sinking quite deep.  As of now, the
codebook infrastructure has been entirely re-written.  As a result,
codebook memory usage has been reduced to 15%-25% of previous
footprint, depending on the codebooks in question.  This plus libogg2
deployment has approximately halved heap usage and made a good dent in
stack.  So far, CPU hit is about 15% on general purpose CPUs.

If the end result brings memory down to target with only 15-20% CPU
damage, I may well abandon the 'big memory' version and encourage
optimization of the new work.  As it is, many folks have been
interested in major ASM work in the past; the codebook.c and framing.c
files on the Tremor lowmem branch are now ripe for carefully applied
assembly optimization.  I do not forsee them shifting a great deal in
the forseeable future.

Monty

<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