Quick-protobuf Alternatives
Similar projects and alternatives to quick-protobuf
-
-
InfluxDB
Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
msgpack
MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.
-
riegeli
Riegeli/records is a file format for storing a sequence of string records, typically serialized protocol buffers.
-
nix-init
Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more [maintainer=@figsoda]
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
quick-protobuf discussion
quick-protobuf reviews and mentions
-
Fivefold Slower Compared to Go? Optimizing Rust's Protobuf Decoding Performance
[quick-protobuf]: https://github.com/tafia/quick-protobuf
-
Add extra stuff to a “standard” encoding? Sure, why not
I actually went through all projects listed in [1] because I remember this very quirk. It turns out that there are many such libraries that have two variants of encode/decode functions, where the second variant prepends a varint length. In my brief inspection there do exist a few libraries with only the second variant (e.g. Rust quick-protobuf), which is legitimately problematic [2].
But if the project in question was indeed protobuf.js (see loeg's comments), it clearly distinguishes encode/decode vs. encodeDelimited/decodeDelimited. So I believe the project should not be blamed, and the better question would be why so many people chose to add this exact helper. Well, because Google itself also had the same helper [3]! So at this point protobuf should just standardize this simple framing format (with an explicitly different name though), instead of claiming that protobuf has no obligation to define one.
[1] https://github.com/protocolbuffers/protobuf/blob/main/docs/t...
[2] https://github.com/tafia/quick-protobuf/issues/130
[3] https://protobuf.dev/reference/java/api-docs/com/google/prot...
[4] https://github.com/protocolbuffers/protobuf/blob/main/src/go...
Stats
tafia/quick-protobuf is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of quick-protobuf is Rust.