SaaSHub helps you find the best software and product alternatives Learn more →
Go_serialization_benchmarks Alternatives
Similar projects and alternatives to go_serialization_benchmarks
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
fasthttp
Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
-
-
-
-
encoding
Go package containing implementations of efficient encoding, decoding, and validation APIs.
-
-
-
msgpack
MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.
-
-
-
-
-
-
-
-
cbor
CBOR codec (RFC 8949) with CBOR tags, Go struct tags (toarray, keyasint, omitempty), float64/32/16, big.Int, and fuzz tested billions of execs.
-
-
-
go_serialization_benchmarks discussion
go_serialization_benchmarks reviews and mentions
-
Rob Pike: Gobs of data (2011)
Someone made a benchmark of serialization libraries in go [1], and I was surprised to see gobs is one of the slowest ones, specially for decoding. I suspect part of the reason is that the API doesn't not allow reusing decoders [2]. From my explorations it seems like both JSON [3], message-pack [4] and CBOR [5] are better alternatives.
By the way, in Go there are a like a million JSON encoders because a lot of things in the std library are not really coded for maximum performance but more for easy of usage, it seems. Perhaps this is the right balance for certain things (ex: the http library, see [6]).
There are also a bunch of libraries that allow you to modify a JSON file "in place", without having to fully deserialize into structs (ex: GJSON/SJSON [7] [8]). This sounds very convenient and more efficient that fully de/serializing if we just need to change the data a little.
--
1: https://github.com/alecthomas/go_serialization_benchmarks
2: https://github.com/golang/go/issues/29766#issuecomment-45492...
--
3: https://github.com/goccy/go-json
4: https://github.com/vmihailenco/msgpack
5: https://github.com/fxamacker/cbor
--
6: https://github.com/valyala/fasthttp#faq
--
7: https://github.com/tidwall/gjson
8: https://github.com/tidwall/sjson
-
Introducing Tempo: low latency, cross-platform, end-to-end typesafe APIs
The bebop definition specifies fixed-width types inside a struct. The format of structs cannot be changed, but there are efficiency gains by omitting all of the indices and header data. It's useless as the root message, but it's small and fast for a benchmark.
-
mus-go - the fastest Golang serializer today
Hey everyone! Let me introduce you to mus-go - the fastest Golang serializer today. If you look at benchmarks (https://github.com/alecthomas/go_serialization_benchmarks), you can see that it could be almost twice as fast as its closest "competitor":
-
What is the fastest way to encode the arbitrary struct into bytes?
This might be of interest: https://github.com/alecthomas/go_serialization_benchmarks
- 80x improvements in caching by moving from JSON to gob
-
gRPC Is Easy to Misconfigure
The protobuf vs msgpack benchmarks are not too bad. Msgpack performs very decently.
https://github.com/alecthomas/go_serialization_benchmarks
-
Bebop encoding in Go
Maybe submit a PR against https://github.com/alecthomas/go_serialization_benchmarks? That covers a ton of serialization formats already, so adding your library would be cool and avoid wheel reinvention.
-
A note from our sponsor - SaaSHub
www.saashub.com | 10 Oct 2024
Stats
The primary programming language of go_serialization_benchmarks is Go.
Popular Comparisons
- go_serialization_benchmarks VS encoding
- go_serialization_benchmarks VS bebop
- go_serialization_benchmarks VS msgpack
- go_serialization_benchmarks VS bebop
- go_serialization_benchmarks VS msgp
- go_serialization_benchmarks VS SerializationBenchmarks
- go_serialization_benchmarks VS go-codec-bench
- go_serialization_benchmarks VS grpc-web
- go_serialization_benchmarks VS tempo
- go_serialization_benchmarks VS ion-docs