All Projects → smallnest → Gosercomp

smallnest / Gosercomp

Licence: apache-2.0
⚡️ Golang Serializer Benchmark Comparison

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gosercomp

Rq
Record Query - A tool for doing record analysis and transformation
Stars: ✭ 1,808 (+502.67%)
Mutual labels:  json, protobuf, messagepack
Rdflib Jsonld
JSON-LD parser and serializer plugins for RDFLib (Python 2.6+)
Stars: ✭ 250 (-16.67%)
Mutual labels:  json, serializer
Pxi
🧚 pxi (pixie) is a small, fast, and magical command-line data processor similar to jq, mlr, and awk.
Stars: ✭ 248 (-17.33%)
Mutual labels:  json, serializer
raster
A micro server framework, support coroutine, and parallel-computing, used for building flatbuffers/thrift/protobuf/http protocol service.
Stars: ✭ 19 (-93.67%)
Mutual labels:  protobuf, thrift
Jsonapi Utils
Build JSON API-compliant APIs on Rails with no (or less) learning curve.
Stars: ✭ 191 (-36.33%)
Mutual labels:  json, serializer
Jsonlab
JSONLab: a native JSON/UBJSON/MassagePack encoder/decoder for MATLAB/Octave
Stars: ✭ 202 (-32.67%)
Mutual labels:  json, messagepack
Cpp Serializers
Benchmark comparing various data serialization libraries (thrift, protobuf etc.) for C++
Stars: ✭ 533 (+77.67%)
Mutual labels:  thrift, protobuf
Noproto
Flexible, Fast & Compact Serialization with RPC
Stars: ✭ 138 (-54%)
Mutual labels:  json, messagepack
Play Json
The Play JSON library
Stars: ✭ 254 (-15.33%)
Mutual labels:  json, serializer
Surrealist
to_json but I wrote it myself
Stars: ✭ 271 (-9.67%)
Mutual labels:  json, serializer
Shineframe
高性能超轻量级C++开发库及服务器编程框架
Stars: ✭ 274 (-8.67%)
Mutual labels:  json, protobuf
Xresloader
跨平台Excel导表工具(Excel=>protobuf/msgpack/lua/javascript/json/xml)
Stars: ✭ 161 (-46.33%)
Mutual labels:  json, protobuf
Serializer
With the Serializer component it's possible to handle serializing data structures, including object graphs, into array structures or other formats like XML and JSON. It can also handle deserializing XML and JSON back to object graphs.
Stars: ✭ 2,021 (+573.67%)
Mutual labels:  json, serializer
Gordon cnn
A small convolution neural network deep learning framework implemented in c++.
Stars: ✭ 241 (-19.67%)
Mutual labels:  json, protobuf
Serialize
Stars: ✭ 159 (-47%)
Mutual labels:  json, protobuf
Srpc
RPC based on C++ Workflow
Stars: ✭ 521 (+73.67%)
Mutual labels:  thrift, protobuf
Nano
Lightweight, facility, high performance golang based game server framework
Stars: ✭ 1,888 (+529.33%)
Mutual labels:  json, protobuf
Kotlinx.serialization
Kotlin multiplatform / multi-format serialization
Stars: ✭ 3,550 (+1083.33%)
Mutual labels:  json, protobuf
WebApiClient.Extensions
WebApiClient项目的第三方扩展:Autofac、DependencyInjection、HttpClientFactory、SteeltoeOSS.Discovery、MessagePack、Protobuf、Json-Rpc
Stars: ✭ 73 (-75.67%)
Mutual labels:  protobuf, messagepack
Quicklib
Quick development library (AutoMapper, LinQ, IOC Dependency Injection, MemoryCache, Scheduled tasks, Config, Serializers, etc) with crossplatform support for Delphi/Firemonkey (Windows,Linux,OSX/IOS/Android) and freepascal (Windows/Linux).
Stars: ✭ 274 (-8.67%)
Mutual labels:  json, serializer

Golang Serialization Benchmark

Serializers

This project test the below go serializers, which compares with go standard json and xml.

Excluded Serializers

Given existed benchmark by alecthomas,or complexity, or activity, the below serializers are excluded from this test because of their poor performance.

Test Environment

go version: 1.13.4

Test:

go test -bench=.

Test Data Model

All tests are using the same data model as below:

type ColorGroup struct {
    ID     int `json:"id" xml:"id,attr""`
    Name   string `json:"name" xml:"name"`
    Colors []string `json:"colors" xml:"colors"`
}
`

Benchmark

Marshal

include marshalled bytes

BenchmarkMarshalByJson-6                         2543781               480 ns/op                65.0 marshaledBytes
BenchmarkMarshalByXml-6                           401060              2842 ns/op               137 marshaledBytes
BenchmarkMarshalByMsgp-6                        15432038                80.7 ns/op              47.0 marshaledBytes
BenchmarkMarshalByProtoBuf-6                     8019920               150 ns/op                36.0 marshaledBytes
BenchmarkMarshalByGogoProtoBuf-6                12277683                94.9 ns/op              36.0 marshaledBytes
BenchmarkMarshalByThrift-6                       3795267               317 ns/op                63.0 marshaledBytes
BenchmarkMarshalByAvro-6                         3668318               331 ns/op                32.0 marshaledBytes
BenchmarkMarshalByGencode-6                     37568914                31.3 ns/op              34.0 marshaledBytes
BenchmarkMarshalByUgorjiCodecAndCbor-6           1447856               849 ns/op                47.0 marshaledBytes
BenchmarkMarshalByUgorjiCodecAndMsgp-6           1465488               806 ns/op                47.0 marshaledBytes
BenchmarkMarshalByUgorjiCodecAndBinc-6           1469070               823 ns/op                47.0 marshaledBytes
BenchmarkMarshalByUgorjiCodecAndJson-6           1000000              1037 ns/op                65.0 marshaledBytes
BenchmarkMarshalByEasyjson-6                     6106801               196 ns/op                65.0 marshaledBytes
BenchmarkMarshalByFfjson-6                       1666495               728 ns/op                65.0 marshaledBytes
BenchmarkMarshalByJsoniter-6                     3208327               375 ns/op                65.0 marshaledBytes
BenchmarkMarshalByGoMemdump-6                     344076              3496 ns/op               200 marshaledBytes
BenchmarkMarshalByColfer-6                      50134317                23.9 ns/op              35.0 marshaledBytes
BenchmarkMarshalByZebrapack-6                    9549326               116 ns/op               109 marshaledBytes
BenchmarkMarshalByGotiny-6                       4663609               258 ns/op                32.0 marshaledBytes
BenchmarkMarshalByHprose-6                       4645060               259 ns/op                49.0 marshaledBytes
BenchmarkMarshalBySereal-6                        750622              1590 ns/op                76.0 marshaledBytes
BenchmarkMarshalByVmihMsgpackv4-6                2378013               500 ns/op                55.0 marshaledBytes
BenchmarkMarshalByRlp-6                          3351589               359 ns/op                32.0 marshaledBytes
BenchmarkMarshalBySegmentioJSON-6                3249405               369 ns/op                65.0 marshaledBytes

Unmarshal

BenchmarkUnmarshalByJson-6                        752025              1597 ns/op
BenchmarkUnmarshalByXml-6                         128037              9597 ns/op
BenchmarkUnmarshalByMsgp-6                       8075196               148 ns/op
BenchmarkUnmarshalByProtoBuf-6                   3069420               382 ns/op
BenchmarkUnmarshalByGogoProtoBuf-6               4064895               304 ns/op
BenchmarkUnmarshalByThrift-6                     1405612               856 ns/op
BenchmarkUnmarshalByAvro-6                         76148             16803 ns/op
BenchmarkUnmarshalByGencode-6                   12796027                92.0 ns/op
BenchmarkUnmarshalByUgorjiCodecAndCbor-6         1000000              1116 ns/op
BenchmarkUnmarshalByUgorjiCodecAndMsgp-6         1000000              1221 ns/op
BenchmarkUnmarshalByUgorjiCodecAndBinc-6         1000000              1104 ns/op
BenchmarkUnmarshalByUgorjiCodecAndJson-6          600756              1934 ns/op
BenchmarkUnmarshalByEasyjson-6                   3208314               384 ns/op
BenchmarkUnmarshalByFfjson-6                      925518              1250 ns/op
BenchmarkUnmarshalByJsoniter-6                   3092865               388 ns/op
BenchmarkUnmarshalByGJSON-6                      1000000              1276 ns/op
BenchmarkUnmarshalByGoMemdump-6                  1339832               934 ns/op
BenchmarkUnmarshalByColfer-6                     7762653               156 ns/op
BenchmarkUnmarshalByZebrapack-6                  5323958               224 ns/op
BenchmarkUnmarshalByGotiny-6                     4870737               241 ns/op
BenchmarkUnmarshalByHprose-6                     2527753               474 ns/op
BenchmarkUnmarshalBySereal-6                     2114608               565 ns/op
BenchmarkUnmarshalByVmihMsgpackv4-6              1432388               823 ns/op
BenchmarkUnmarshalByRlp-6                        1675710               706 ns/op
BenchmarkUnmarshalBySegmentioJSON-6              2772384               430 ns/op
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].