| Tobiah wrote:
>
> It is amazing that we are getting such different results from
> different compilers and machines. I have a Celeron 333A that
> gets 206 oscils with the same flags on gcc. Hmmm.
>
Whoops.
I _must_ have confused my versions of oscillates.c ... the one I thought
was Ed's is not the same as his message at all. I should have checked
that before posting.
I just re-copied Ed's code into a new file, compiled it with egcs
-m486 -ffast-math -funroll-all-loops, and it's running right now, over
400 oscillators and counting ... no glitches with X and emacs running at
the same time.
Final score: 720 oscillators, daddy-oh!
gcc with the same flags scores 690 oscillators.
Csound doesn't fare nearly so well. Compiled with gcc -O2 (at the
moment, due to a buggy .config file, I can't compile it with anything
else), I get 200 super-simple oscillators from this orc. ( I get about
160 if I use oscili instead of oscil, and only about 40 if I use
oscil3).
I can increase the performance with the -b flag: best for me seems to be
-b 4096, or -b 2048, which both get about 220 oscils. Even down at -b
256 I can get up to 200 oscils, which is pretty low latency for realtime
MIDI. I think I can say that small buffer sizes work better on this
machine than they did on a Pentium 133.
; begin orc
sr = 44100
kr = 2205
ksmps = 20
nchnls = 1
instr 1
ipitch = p5 + 200
a1 oscil p4, ipitch, 1
out a1
print p5 ; this tells us how many oscils.
endin
; begin score
f1 0 1024 10 1 ; sine
t 0 400 100 120 400 60 ; edit to your taste
;1 at dur amp count (same as at, but not time-warped)
i1 1 700 1000 1
i1 2 . . 2
i1 3 . . 3
i1 4 . . 4
i1 5 . . 5
i1 6 . . 6
i1 7 . . 7
i1 8 . . 8
i1 9 . . 9
i1 10 . . 10
etc. etc...
------------------- paul winkler --------------------
slinkP arts: music, sound, illustration, web design, etc.
zarmzarm@erols.com http://members.tripod.com/~slinkP
========================================================= |