Hey folks,

today, I'm open sourcing *protobluff*, which (from my knowledge) is the 
first Protocol Buffers binding that allows reads and writes on encoded 
messages - no decoding necessary. In certain cases this is really 
beneficial in terms of performance, especially on large messages from which 
only a few fields are needed. protobluff also allows zero-copy updates if 
the length of the message doesn't change during an update (e.g. for 
fixed-size fields like floats or doubles). This allows in-place reads and 
updates with absolutely *zero allocations*. It makes heavy use of stack 
allocations and avoids dynamic allocations wherever possible. It's also 
really convenient in terms of memory management, as *protobluff* does all 
the heavy lifting for you. No need to track allocations in order to free 
them later. Give it a try:

https://github.com/squidfunk/protobluff

*protobluff* is under active and heavy development - there are a few 
unsupported features and proto3 compatibility to come, but the main stuff 
is implemented. There are also a few thousand lines of tests which cover 
100% of the source code. In the next weeks I will add extensive 
documentation, but for now I refer to the examples in the README and the 
extensive unit tests and this thread. Feel free to post your questions.

My company VOOLA (http://voola.de) makes heavy use of *protobluff*, having 
it in production for around 1,5 years now. We're delivering blazing-fast 
search on realtime metrics and data for the German derivatives markets, and 
protobluff helps us implementing it in realtime.

Feel free to add protobluff to the list of third-party add-ons on Github. 
Any feedback is appreciated.

Best regards
Martin

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.

Reply via email to