ANN: version 2.0.2 of protocol-buffers, protocol-buffers-descriptor, hprotoc

Chris Kuklewicz haskell at list.mightyreason.com
Thu May 12 11:51:38 CEST 2011


Ok, I was crap at editing the hprotoc.cabal file.

I have uploaded version 2.0.2 of all three to fix this.  As a small bonus some
decoding should be more efficient than in 2.0.0 since I "unrolled" decoding the
7-bit integer format.

-- 
Chris


On 10/05/2011 15:49, haskell at list.mightyreason.com wrote:
> A new major version of the Haskell implementation of Google's protocol buffers
> is done.
> 
> The new code is in the usual three packages at
> http://hackage.haskell.org/package/protocol-buffers
> http://hackage.haskell.org/package/protocol-buffers-descriptor
> http://hackage.haskell.org/package/hprotoc
> 
> The darcs repository is still at
> http://code.haskell.org/protocol-buffers/
> 
> This is the first release where performance was tested and improved:
> specifically parsing messages from the wire protocol.  The new library now
> defaults to using strict fields for generated messages. This vastly improves the
> memory usage when getting messages from the binary format.  The old lazy fields
> can still be generated by hprotoc with a new command line option.
> 
> On "OS X" with 64-bit ghc the C++ loading is 0.5 seconds and Haskell is 1.6
> seconds (128 MB memory usage).  This is down from 8.3 seconds (1597 MB memory
> usage).
> 
> A related change in version 2.0.0 is that 'mergeEmpty' no longer exists.  With
> strict messages and required fields this would have been a dangerous value to
> keep.  If you used this, then please use 'defaultValue' instead.
> 
> The Haskell code has been compiled against Google's version 2.4.0a proto files.
>  But the Haskell code is only compatible up to Google's version 2.3.0, and in
> particular the new default message syntax is not yet supported in the 'hprotoc'
> parser.
> 




More information about the Libraries mailing list