Sockets for message passing...

Argent Stonecutter secret.argent at gmail.com
Thu Jan 24 13:13:46 PST 2008


> Apparently it uses sockets for message passing, which may not be  
> what you want for SL.

If sockets are good enough this isn't even in the ballpark. They're  
dealing with a completely different (and much lower) level of  
concurrency.

Last year I converted a shared memory database (non-relational) from  
using sockets for message passing to lockless shared memory, and got  
a factor of 6000 speedup. And that's just looking at throughput, not  
latency, in an application where there was no "round trip" from the  
data source to the destination and transactions were already being  
streamed in batches. When latency is a factor you're looking at even  
greater overhead just from having a system call in every transaction.

In LSL, currently, any operation that requires that kind of  
interaction is handled through the dataserver() event, simply because  
the overhead of going through a socket transaction inline would be  
prohibitive.



More information about the secondlifescripters mailing list