[sldev] Google data exchange format

John Hurliman jhurliman at jhurliman.org
Wed Jul 9 10:06:50 PDT 2008


Thanks for the link. I'm in the process of adding C# support, and if I have
time I might reimplement a few SL packets as protobufs to do comparisons. If
a few tweaks were made to allow mostly empty byte arrays to pack down (I'm
thinking LayerData), zerocoding would become unnecessary and you remove one
of the most complex* parts of a high performance implementation of the
network layer. The only change I would probably make would be adding native
support for important datatypes (vector2/3/4, quaternion, uuid). Being able
to throw away the message template and the three different serialization
formats of LLSD and replace them with a single fast and terse implementation
would be very nice.

Still can't figure out why the release build of libprotobuf.dll is over
700KB though. More digging required.

* Allocating a new ~2KB block of memory every time a zerocoded packet comes
in or goes out is going to fragment memory really quickly. To get around
this you need a dynamic pool of buffers to pack/unpack messages, and handle
checking in and checking out buffers to the pool (like a threadpool for
memory chunks).


John

On Tue, Jul 8, 2008 at 1:32 PM, Argent <secret.argent at gmail.com> wrote:

> Just announced on slashdot:
>
>
> http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html
>
> A fast, compact IDL that's got a well-tested open-source implementation and
> is an order of magnitude faster than XML?
>
>
> _______________________________________________
> Policies and (un)subscribe information available here:
> http://wiki.secondlife.com/wiki/SLDev
> Please read the policies before posting to keep unmoderated posting
> privileges
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20080709/2b62f4c7/attachment.htm


More information about the SLDev mailing list