[PlanetCCRMA] Re: Sine waves in real time

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Tue Oct 23 19:01:01 2007


On Tue, 2007-10-23 at 16:21 +0100, joey.a wrote:
> > On Sun, 21 Oct 2007 22:29:05 joey.a wrote:
> >
> > > > Its a 4 year old amd xp2800. I could run about 140 voices in realtime
> at
> > > > 80% cpu usage,
> > >
> > > Interesting. Your clock is ~ half the speed of Bill's, yet you appear
> get ~
> > > the same performance, from the same software.
> > >
> > > Does this mean that AMD is ~twice as efficient as Intel, in music
> > > applications, or that Bill has specified for only 50% CPU loading?
> >
> > Very much doubt that.  The new Pentium 4s (and Core 2s) have massive
> floating
> > point units which will easily best an Athlon XP.
> 
> I don't see the relevance of that, for practical music applications.
> 
> Maximum line signal is 0 db by  convention, and -100 db of noise is pretty
> much imperceptible. That equates to an amplitude range of 100,000 to 1.
> You can get that with 17 bits.
> Even the more basic versions of Fedora are 32 bits, so why would one need
> floating point processiong power on top?
> 
> Are you saying that the software is squandering processing power by
> performing flops, when it could be  doing straight signed multiplications
> more efficiently instead?

"flops" might be more efficient that straight signed multiplications.
The software is most probably not squandering anything by using floating
point operations, and was tested, optimized and cajoled into having the
highest performance after many many tests by guys that spent decades
doing this. Current processors are very very complicated and
understanding what is most efficient is _not_ straightforward (and
eludes me, for one - I'm not an expert :-). It probably is less
efficient to deal with fixed point arithmetic and all the special cases
it creates than just using floating point, at least on reasonably recent
cpus. 

AFAIK most (if not all) general purpose synthesis languages are using
floating point these days...

-- Fernando