FWIW, before I even joined Google, there were notes from Sanjay (the actual inventor) saying that varint was a poorly-chosen format due to excessive branching. IIRC he was arguing for a format where you can tell the length based on the first byte although I don&#x27;t completely remember. In theory you could design such a format that is just as space-efficient as varint, by re-arranging bits.<p>Protobuf -- like most successful systems -- was not so much &quot;designed&quot; as it was &quot;evolved&quot; as a series of decisions made out of expediency rather than because they were the best possible answer. Overall it has obviously worked extremely well, but I would not assume that just because protobuf does something, it is good. (But I&#x27;d say that about just about everything, not just protobuf.)