pbf
sia
Our great sponsors
pbf | sia | |
---|---|---|
3 | 1 | |
763 | 126 | |
0.0% | - | |
0.0 | 2.5 | |
over 1 year ago | 22 days ago | |
JavaScript | TypeScript | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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
-
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)
sia
-
Clio: extremely fast, multi-threaded code on the browser
Prior to version v0.11.0, Clio used JSON for serialization. JSON is available everywhere and it’s fairly fast, so at first, it might sound like a good idea to go with JSON. Unfortunately, as soon as we start serializing custom types with JSON, its performance degrades to the point that it’s not efficient anymore. To solve this issue, I created a serialization library for JavaScript named Sia, and to boost its serialization performance to the next level, I also designed a new text encoding which I called utfz. I spent over a year optimizing these two libraries, and as a result, managed to make Sia so fast that the pure JavaScript version of it beats even the performance of the native serialization libraries available for Node.js!
What are some alternatives?
protobuf - Protocol Buffers for JavaScript (& TypeScript).
clio - Clio is a functional, parallel, distributed programming language.
deno-pbf - Deno pbf port of https://github.com/mapbox/pbf
wat-compiler - webassembly wat text format to binary compiler
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.
utfz - UTFZ, a UTF-16 compression library.
fast-encoding - Fast, cross-platform, small and easy-to-use base64 and hex encoding.
examples - A few Clio examples
img-encode - Encode an image to sound and view it as a spectrogram - turn your images into music
benchmark - Clio benchmark
nominatim-docker - 100% working container for Nominatim
mbtileserver - Basic Go server for mbtiles