Re: Wavetables...

From: John Lazzaro (lazzaro@CS.Berkeley.EDU)
Date: Mon May 15 2000 - 13:47:42 EDT


> What do you think ? Is this possible, or is it a stupid idea of a
> non-normative alien ?

Doing this in a normative way seems doable to me, unless tablewrites
are happening too -- you could statically analyze the program and
choose integer or float tables, depending on whether tablewrites happen
to each table. Also, if you're not doing it already, "promoting" all
locally-declared tables to global tables, if it is safe to do so, is
another way to save memory space -- sfront does this today.

A related idea that Bertrand Petit proposed to me a while back, is
delaying the actual preparation of the table at all (including reading
it in from secondary storage, in the case of the sample wavetable) until
table indices are actually used. In his case, he was reading in 10-minute
long performances into global tables via the "sample" wavetable generator,
for doing mastering -- and found that the sfront-produced sa.c program
spent many minutes at the start, reading in the whole 100-megabyte file
to convert to floats ... not good.

> Oh, and there is another question: Does any decoder implementation, so
> far (SAOLC, SAINT, SFRONT...), guarantee, that all memory being
> allocated during the initializing phase of the decoder and during the
> run-time phase is freed at the end of the decoding process ?

The sa.c file sfront produces doesn't free the tables it creates prior
to ending execution -- it assumes the operating system is capable of
doing this automatically, like UNIX memory managers do. If this is an
issue, its probably possible to add this to sfront as a code-generation
feature ... I'm surprised there are OS's out there that require this,
though.

                                                                --jl

-------------------------------------------------------------------------
John Lazzaro -- Research Specialist -- CS Division -- EECS -- UC Berkeley
lazzaro [at] cs [dot] berkeley [dot] edu www.cs.berkeley.edu/~lazzaro
-------------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 12:03:55 EST