Subject: Re: [linux-audio-user] virtual sampler
From: Nick D (nixx_AT_nixx.org.uk)
Date: Thu Mar 21 2002 - 21:52:18 EET
On Thu, 21 Mar 2002 16:16:20 -0300
Juan Linietsky <coding_AT_reduz.com.ar> wrote:
> On Thu, 21 Mar 2002 18:12:38 +0000
> Nick D <nixx_AT_nixx.org.uk> wrote:
> > I don't think that's necessarily the case.. getting these things to run >fast is far from easy given the amount of computation involved, and >having something which works is surely more important? plus, if there >_were_ a documented way of getting much better performance, surely >everyone would use it? i certainly would ;-)
> It's not hard, basically, the idea is using fixed point math,
> so you can easily take advantage of integer math being much faster.
yes, fixed point is quicker. but it makes everything more of a pain to program. suddenly you have to be _very_ careful about overflows on signals etc... :-/ unless someone can tell me it really isnt much of problem - if it isnt then it's something i'd like to do..
btw, does anyone know what the (shudder) VST soft-synths use? fixed or floating point?
> There's also many factors that will affect the performance of your app
> such as avoiding the use of stack in critical zones, avoiding large
> precomputed tables due to cache size/associability restriction,
> using "register" in values that hold the arithmetical operations (yes it > does work! i think gcc moves the variable to eax instead of using ebp > offset), and ensure that your code is simple enough so gcc can do a good
-ffast-math makes a huge difference too.
ive been using most of the techniques youve mentioned (most of the time), but does anyone know of documentation of this stuff? especially for optimising the output of gcc..
> work optimizing it. MMX is also nice for speeding up because it can > manage 64bits and many useful complex arithmetial operations, I havent > checked 3Dnow, simd, etc but i'm sure that those can be even more > useful.
IIRC, MMX is only for fixed point math(?)
the others are more useful, but having to learn these instructions _and_ the hassle of assembly coding makes it an expensive (in programmer time) way to do it. although i would love to try these out, but i cant see how i would have the time, unless it were my job (i wish! ;-)
This archive was generated by hypermail 2b28 : Thu Mar 21 2002 - 21:40:18 EET