Author here. The main implementation is a Go library with no dependencies. It wins against protobuf-go in every metric and only loses to vtprotobuf in encode (it is 1.2x slower). Who would have thought that generated code would provide any advantage.
I prefer developer ergonomics over adding a step to your compile pipeline, so Colbin uses no code-gen. Colbin is being used in an ERP software that is going to production in 3 months and in an ORM library to reduce the size of DynamoDB data. It is used inside my company in production as a format for cache data, and later as an HTTP interchange format. We noticed JSON serialization was one of the main causes of RAM spikes in our Lambda services, and now with colbin we are reducing RAM, CPU and bandwidth.
ivan-ang•11m ago
I prefer developer ergonomics over adding a step to your compile pipeline, so Colbin uses no code-gen. Colbin is being used in an ERP software that is going to production in 3 months and in an ORM library to reduce the size of DynamoDB data. It is used inside my company in production as a format for cache data, and later as an HTTP interchange format. We noticed JSON serialization was one of the main causes of RAM spikes in our Lambda services, and now with colbin we are reducing RAM, CPU and bandwidth.
I am looking for an endorsement on arXiv to publish a paper. If you can help, write me an email: ivan@un.pe Paper: https://github.com/ivanjoz/colbin-benchmarks/blob/main/paper...