i'm using udp over the standard tcp/ip stacks in the mac (open transport 2.02) and winsock2 under win2k. yes, cxc started from the cnmat OSC-kit.
my "small" packet is a message of 20 bytes, the "large" is 58 bytes, and i used something like "/abcedfg/ /hijklmno/ ..." etc to force a kind of string literal message so that i'd see on the receiving end exactly what was staged in the transmit side (not having studied the protocol i'm really not sure my messages had as meaningful an effect on the resultant packets as i'd hoped). anyway, with the "small" i got up to about 2480 messages/sec, and with the large i got about 2180 messages/sec. i did not use the OSC "message bundling" mechanism in these tests and my buffers on the client-side were small and numerous (60 @ 128 bytes per), so this wasn't a rigorous attempt at maximum efficiency. also note that i disabled time/type tags on the sender (the mac) as cxc's pd port doesn't yet cross that bridge. i hope that's helpful, ______________________ | b o b f a l e s c h | www.zeggz.com/raf/
Maurizio Umberto Puxeddu wrote:
On Wed, 10 Apr 2002, Bob Falesch wrote:
i need to correct myself: that p3 notebook is a 650MHz. i've done some load testing (sending to the pd side from max) with simple loops and to summarize:
with a light pd, i see 40,000 bytes/sec with small packets and up to 127,000 bytes/sec with large packets. this is the maximum lossless rate--there's a significant packet loss mode just above these rates.
with a heavier pd doing something approximating useful work (no dsp running, although i did start pd with two channels of sound out enabled) i measure 20,000 bytes/sec as the cpu rises to 100%.
Could you express this numbers in messages/sec? What do you exactly mean with small and large packets? What kind of transport protocol are you using? Is PD's implementation of OSC based on OSC-Kit?
The weak spot of OSC is parsing the address and descending the namespace tree. Since with "small packets" you get a lower maximum rate, you could have reached this limit.
I don't use PD but I'd like to understand how many messages this implementation can dispatch per second.
Thanks, Maurizio Umberto Puxeddu.