First of all, I believe that Kenton Varda is not the inventor of protobuffs, but rather a Google engineer who did a bunch of work on Protobuffs v2 (I believe on both of the v2 specs for protobuffs, because there are two different v2s).  He is certainly quite knowledgeable, but not &quot;the inventor&quot;.<p>Second, while he does characterize it as a &quot;huge mistake&quot; for encoding&#x2F;decoding performance reasons, there are a few caveats that are obvious here.<p>1) Half of his remarks here explain why varints are inappropriate for CapnProto, a separate project of his, inspired by his experience with protobuffs.  CP has different design goals than PB, and in that context varints are inappropriate.  Fine.<p>2) His argument here against varints in protobuffs (as contrasted with in capnproto) is only that they cost CPU time (and thus latency).  That&#x27;s surely true, but it&#x27;s not at all clear to me that he&#x27;s right that this is, in general, the wrong performance tradeoff.<p>3) In general, if you want to represent a long-tailed distribution of numbers, some variable-length encoding has merits, because the alternative (that protobuffs promote, IIUC) are fixed-width ints, which means you waste a lot of space to accommodate your long tail, and even so you might not have allocated enough space for the largest integer you ever need to handle.