[Ann] ocaml-protoc-plugin 5.0.0

It’s my pleasure to announce release 5.0.0 of ocaml-protoc-plugin.

ocaml-protoc-plugin is a plugin for the google protobuf compiler, protoc, to generate type mappings and functions for serialization and de-serialization of google protocol buffers. The plugin aims to be fully compliant with the protobuf specification and recommendations and to generate an intuitive mapping between google protobuf message definitions and Ocaml types. Ocaml-protoc-plugin is written in pure ocaml.

Version 5.0.0 includes option to merge messages to be fully compliant with the protobuf specification and fixes bugs related to name mapping to avoid name collisions and fix code generation error in some corner cases.

Serialization and deserialization has also been hugely optimized for speed and is now on par with other ocaml protobuf implementations (benched against ocaml-protoc)

ocaml-protobuf-plugin 5.0.0 is available though opam and from the project page on github.

Full changelog is available here

3 Likes

Very cool, the runtime (de)serialization code looks pretty nice indeed, at a glance. Do you have benchmark results published somewhere? I’m curious :slight_smile:.

Thanks. There are some interesting usecases for GADT’s to move as much of the logic to the runtime as possible and to simplify code generation.

I’ve added benchmark results to the project readme