directmemory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Noctarius>
Subject Re: Additional Serializer and raw Buffer access
Date Sat, 29 Sep 2012 13:27:12 GMT
Hey Raffaele,

that's quite similar to what I did at work. We're developing Flash
online games and using a customized AMF serialization. To support
async writing of the clients event results I added serialization of
the components / entities to the players zone calculation and stored
the pre-serialized bytestream directly to the off-heap (using
direct-ring-cache implementation). When the client requests the
results (using long-polling) I just write the pre-serialized data to
the right position to deserialize it by standard ways on Flash side.

So yeah an seriliaztion to off-heap algorithm would be fine. You can
avoid using byte arrays and minimalize GC.


Am 29.09.2012 15:02, schrieb Raffaele P. Guidi:
> Nice to hear back from you! Yes, I was thinking about creating a new memory
> storage implementation using Unsafe (and I did it, recently) and also, as
> DirectMemory relies heavily on serialization (and supports many of them,
> protostuff, protobuf, msgpack and of course standard serialization), about
> creating a simple embedded serializer leveraging the same techniques you
> used (Unsafe and bytecode generation).
> The idea with embedding is avoiding to serialize in a byte array and then
> moving the byte array to off-heap memory (via Unsafe or ByteBuffers), and
> serializing directly into a "managed" off-heap buffer, thus further
> optimizing heap utilization (less GC).
> What do you think about it? Does it make any sense to you?
> Ciao,
>     R
> On Sat, Sep 29, 2012 at 2:40 PM, Noctarius <> wrote:
>> Hey guys,
>> Raffaele found out about a project of mine (Lightning) a few weeks
>> ago. Lightning is a heavy Unsafe and Bytecode generation using
>> Serializer implementation. He told me that he was interested in
>> adding something similar to DirectMemory and I would be glad to help
>> out in this.
>> Another project I started a few days ago, since it was needed for
>> work is DirectRingCache. The name not really meets to actual
>> implementation since it's not yet a ring buffer using cache. I used
>> this for a pre-serialization simple bytestream cache with
>> self-growing buffers. It could be nice to have DirectMemory having
>> raw "buffers" to write to or to read from.
>> Here are the links from the projects:
>> It would be nice to help out since I really like the idea of
>> DirectMemory and since direct-ring-cache is some kind of reinventing
>> the wheel.
>> Cheers
>> Noctarius (Chris)

View raw message