3 ms·
As someone who knows little about Protocol Buffers, my first question was how does this compare to Protocol Buffers...which they say blogging about is "on their
by nanodeath 14y ago
As someone who knows little about Protocol Buffers, my first question was how does this compare to Protocol Buffers...which they say blogging about is "on their todo list".
The protocol comes from Pantor Engineering, which apparently provides an "advanced trading system" out of Stockholm. Neat.
- afuruhed 14y agoHi, I'm going to update the FAQ. We have started comparing to GPB, please see here. http://blog.blinkprotocol.org/2013/01/blink-compared-to-google-protocol.html http://blog.blinkprotocol.org/2013/01/blink-compared-to-goog... As you can see in a comment by Rolf, part of the perf limitation of GPB is the implementation and not the wire protocol. Anders
- Inufu 14y agoIs there a reason why all the fields for protobuf are declared as "optional", when it looks like they are in fact not optional at all?
- bchallenor 14y agoTo support schema evolution. Of course it's up to you to write code that can actually handle missing fields, but once you have a required field in a message, you can never remove it. From the docs: "You should be very careful about marking fields as required. If at some point you wish to stop writing or sending a required field, it will be problematic to change the field to an optional field – old readers will consider messages without this field to be incomplete and may reject or drop them unintentionally. You should consider writing application-specific custom validation routines for your buffers instead. Some engineers at Google have come to the conclusion that using required does more harm than good; they prefer to use only optional and repeated. However, this view is not universal." https://developers.google.com/protocol-buffers/docs/proto https://developers.google.com/protocol-buffers/docs/proto
- randersson 14y agogood question; I usually declare fields optional for the reason described in the reply above. I just re-ran the test with all fields declared as "required". It ran ~2% faster.