borsh-ts
pbf
borsh-ts | pbf | |
---|---|---|
2 | 4 | |
33 | 763 | |
- | 0.9% | |
6.0 | 0.0 | |
about 1 month ago | over 1 year ago | |
TypeScript | JavaScript | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
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.
borsh-ts
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)
What are some alternatives?
borsh-rs - Rust implementation of Binary Object Representation Serializer for Hashing
protobuf - Protocol Buffers for JavaScript (& TypeScript).
near-sdk-js - Tools for building NEAR smart contracts in JavaScript
sia - Sia - Binary serialisation and deserialisation
protons - Protocol Buffers for Node.js and the browser without eval
mbtileserver - Basic Go server for mbtiles
deno-pbf - Deno pbf port of https://github.com/mapbox/pbf
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.
fast-encoding - Fast, cross-platform, small and easy-to-use base64 and hex encoding.
img-encode - Encode an image to sound and view it as a spectrogram - turn your images into music
nominatim-docker - 100% working container for Nominatim
S2 geometry - S2 geometry library in Go