pbf
protobuf
Our great sponsors
pbf | protobuf | |
---|---|---|
4 | 18 | |
763 | 9,638 | |
0.9% | 1.0% | |
0.0 | 4.6 | |
over 1 year ago | 15 days ago | |
JavaScript | JavaScript | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pbf
-
Parquet-WASM: Rust-based WebAssembly bindings to read and write Parquet data
it's been about 3 years, but in Grafana at the time we were using something like ArrowJS + Arrow Flight + protobuf.js and then render the datasets into dashboards on Canvas, especially for streaming at ~20hz.
when i benchmarked the fastest lib to simply convert the protobuf decode (https://github.com/mapbox/pbf), it was 5x slower than native JSON parsing in browsers for dataframe-like structures (e.g. a few dozen 2k-long arrays of floats).
-
Outperform Protobuf.js with fixed-size encoding
does it beat https://github.com/mapbox/pbf ?
-
Protobuf-ES: The Protocol Buffers TypeScript/JavaScript runtime we all deserve
at least in the frontend (without WASM), it depends.
i tested https://github.com/mapbox/pbf and while it was faster for deep/complex structs vs an unoptimized/repetative JSON blob, it was slower at shallow structs and flat arrays of stuff. if you spend a bit of time encode stuff as flat arrays to avoid mem alloc, JSON parsing wins by a lot since it goes through highly optimized C or assembly, while decoding protobuf in the JIT does not.
-
A standalone protobuf to typescript(for deno) code generator
The runtime is taken from mapbox/pbf (with basic type definitions)
protobuf
- Eval("quire".replace(/^/,"re"))(moduleName)
-
How we reverse-engineered Google Maps pagination
Google Maps URLs contain the pb parameter contains string-encoded Protobuf. The format is the same as for the data parameter in the browser URL on Google Maps. It contains !-separated values. There are several answers on StackOverflow, gists on GitHub, some blog posts about decoding, and even a kinda official guide on reverse engineering protobuf, but none of this touches pagination.
-
Add extra stuff to a “standard” encoding? Sure, why not
Seems like protoduf.js has the exact same methods as Google’s implementations with the same names (encode/decode to not prepend with length, encodeDelimited/decodeDelimited for prepending length). It is hard for me to say they’re adding to the standard when they’re just replicating Google’s libraries.
https://github.com/protobufjs/protobuf.js#toolset
-
Question about compressing JSON in multiplayer position updates
If it really is a problem, then another option is to use Protobus or Message Pack for serializing (maybe into base64?).
-
Looking for ideas on how to implement serialization and deserialization between C++ and Javascript
I use protocol buffers. protobufjs translates into json.
-
GRPC Gateway API Client?
I have tried GRPC gateway generation tools: - PBJS: https://github.com/protobufjs/protobuf.js/
- Protobuf-ES: The Protocol Buffers TypeScript/JavaScript runtime we all deserve
- Did I understand the basic concept of website development with Node Js correctly?
- how can i use protobuf with sveltekit, please?
-
is there any startup or famous web app using grpc/grpc-web for their frontend
We use https://github.com/improbable-eng/grpc-web for the server part with https://github.com/protobufjs/protobuf.js on the frontend.
What are some alternatives?
sia - Sia - Binary serialisation and deserialisation
snappy - DEPRECATED - please use https://github.com/Brooooooklyn/snappy. Nodejs bindings to Google's Snappy compression library
deno-pbf - Deno pbf port of https://github.com/mapbox/pbf
compactr - Schema based serialization made easy
osm - Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
Vicis - Presentation and transformation layer for data output in RESTful APIs.
fast-encoding - Fast, cross-platform, small and easy-to-use base64 and hex encoding.
Cap'n Proto - Cap'n Proto serialization/RPC system - core tools and C++ library
img-encode - Encode an image to sound and view it as a spectrogram - turn your images into music
TypeScript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
nominatim-docker - 100% working container for Nominatim
opentelemetry-proto - OpenTelemetry protocol (OTLP) specification and Protobuf definitions