[ANN] "Pure" Ogg-Vorbis decoder

Russell Penney russell.penney at tincanct.com
Sat Jun 12 02:54:23 UTC 2004


Avi,
   Way ahead of you :) I removed detectMax: and it doubled the speed. And I
noticed the Float>>negated time as well.

At least half the time is spent doing the MDCT. Could somebody with more
maths than me have a look at the paper and see if it can be done better in
Squeak?

What are the benefits of FloatArray? 

I will look at Tremor to see how they keep values as Integers throughout the
decoding process. I am assuming that Integers would be faster than Floats
(my simple testing indicated a 3:1 time difference between Floats and
SmallIntegers.

Russell

> -----Original Message-----
> From: squeak-dev-bounces at lists.squeakfoundation.org [mailto:squeak-dev-
> bounces at lists.squeakfoundation.org] On Behalf Of Avi Bryant
> Sent: Saturday, 12 June 2004 6:28 AM
> To: The general-purpose Squeak developers list
> Subject: Re: [ANN] "Pure" Ogg-Vorbis decoder
> 
> 
> On Jun 11, 2004, at 12:42 PM, Bryce Kampjes wrote:
> 
> > Dan Ingalls writes:
> >> And yes; once it has been cleaned up and tested, plugins will do
> >> wonders for the speed, though my enthusiasm lies more with JITs right
> >> now (actually since the beginning * ;-).
> >
> > Methods like VorbisAudioPacket>>overlapAndWindow: look promising
> > assuming that r is an Array.
> 
> Yes, in some quick profiling I did that was a major hotspot (mostly due
> to Float>>negated, for some reason).  The other one was
> ByteArray>>detectMax:, which I'm pretty sure you can easily get rid of
> - just keep track of the maxLength as you put items into the lengths
> array in the VorbisCodebook, and you won't have to look for it each
> time.
> 
> I also wonder whether using FloatArray in some cases might be useful,
> where Array is used now?
> 
> Avi
> 






More information about the Squeak-dev mailing list