In this study, we evaluate the space-efficiency of a set of popular serialization specifications when it comes to serializing a diverse set of JSON documents. We do not consider serialization specifications that are not open-source.
Table of Contents (27)
JSON Document | JSON Taxonomy |
---|---|
CircleCI Definition (Blank) | Tier 1, Numeric, Non-redundant, Flat |
CircleCI Matrix Definition | Tier 1, Numeric, Non-redundant, Nested |
CommitLint Configuration | Tier 1, Textual, Redundant, Nested |
CommitLint Configuration (Basic) | Tier 1, Boolean, Non-redundant, Flat |
Entry Point Regulation Manifest | Tier 2, Textual, Redundant, Nested |
ESLint Configuration Document | Tier 3, Numeric, Redundant, Flat |
ECMAScript Module Loader Definition | Tier 2, Boolean, Non-redundant, Flat |
GeoJSON Example Document | Tier 2, Numeric, Redundant, Nested |
GitHub FUNDING Sponsorship Definition (Empty) | Tier 2, Boolean, Redundant, Flat |
GitHub Workflow Definition | Tier 2, Textual, Non-redundant, Nested |
Grunt.js Clean Task Definition | Tier 1, Textual, Redundant, Flat |
ImageOptimizer Azure Webjob Configuration | Tier 1, Textual, Non-redundant, Nested |
JSON-e Templating Engine Reverse Sort Example | Tier 1, Numeric, Redundant, Nested |
JSON-e Templating Engine Sort Example | Tier 1, Numeric, Redundant, Flat |
JSON Feed Example Document | Tier 2, Textual, Non-redundant, Flat |
JSON Resume Example | Tier 3, Textual, Non-redundant, Nested |
.NET Core Project | Tier 3, Textual, Redundant, Nested |
Nightwatch.js Test Framework Configuration | Tier 3, Boolean, Redundant, Flat |
OpenWeatherMap API Example Document | Tier 2, Numeric, Non-redundant, Flat |
OpenWeather Road Risk API Example | Tier 2, Numeric, Non-redundant, Nested |
NPM Package.json Example Manifest | Tier 3, Textual, Non-redundant, Flat |
NPM Package.json Linter Configuration Manifest | Tier 3, Textual, Redundant, Flat |
SAP Cloud SDK Continuous Delivery Toolkit Configuration | Tier 1, Boolean, Redundant, Flat |
TravisCI Notifications Configuration | Tier 2, Textual, Redundant, Flat |
TSLint Linter Definition (Basic) | Tier 1, Boolean, Non-redundant, Nested |
TSLint Linter Definition (Extends Only) | Tier 1, Textual, Non-redundant, Flat |
TSLint Linter Definition (Multi-rule) | Tier 1, Boolean, Redundant, Nested |
CircleCI Definition (Blank)
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 14 bytes.
The input document is a Tier 1, Numeric, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 2 | 22 | 21 | 25 |
Apache Avro (unframed) | 4 | 24 | 23 | 26 |
Protocol Buffers | 5 | 25 | 24 | 27 |
Cap'n Proto (Packed) | 6 | 26 | 25 | 29 |
JSON BinPack (Schema-less) | 10 | 30 | 29 | 34 |
Apache Thrift | 10 | 25 | 29 | 28 |
JSON | 14 | 34 | 33 | 38 |
CBOR | 18 | 33 | 37 | 37 |
MessagePack | 18 | 33 | 37 | 37 |
FlatBuffers | 20 | 32 | 39 | 35 |
UBJSON | 20 | 35 | 39 | 39 |
BSON | 22 | 36 | 41 | 39 |
Cap'n Proto (Binary) | 24 | 33 | 41 | 33 |
Smile | 25 | 39 | 44 | 44 |
FlexBuffers | 32 | 45 | 49 | 48 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
JSON | ECMA-404 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
FlatBuffers | flatc version 1.12.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
BSON | Python 3.9.5 pymongo |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
CircleCI Matrix Definition
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 95 bytes.
The input document is a Tier 1, Numeric, Non-redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 7 | 27 | 26 | 30 |
Apache Avro (unframed) | 15 | 32 | 34 | 36 |
Protocol Buffers | 26 | 43 | 45 | 46 |
Apache Thrift | 28 | 39 | 47 | 42 |
Cap'n Proto (Packed) | 36 | 49 | 53 | 50 |
JSON BinPack (Schema-less) | 66 | 85 | 85 | 88 |
CBOR | 72 | 89 | 91 | 90 |
MessagePack | 72 | 90 | 91 | 92 |
Smile | 87 | 104 | 106 | 105 |
UBJSON | 92 | 103 | 111 | 104 |
JSON | 95 | 99 | 112 | 101 |
Cap'n Proto (Binary) | 96 | 56 | 72 | 54 |
FlatBuffers | 104 | 82 | 104 | 77 |
BSON | 136 | 123 | 150 | 121 |
FlexBuffers | 157 | 134 | 151 | 131 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
CommitLint Configuration
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 96 bytes.
The input document is a Tier 1, Textual, Redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 20 | 40 | 39 | 43 |
Apache Avro (unframed) | 40 | 41 | 49 | 45 |
Apache Thrift | 59 | 53 | 59 | 57 |
JSON BinPack (Schema-less) | 60 | 72 | 75 | 76 |
Protocol Buffers | 62 | 60 | 70 | 63 |
CBOR | 74 | 67 | 76 | 70 |
MessagePack | 74 | 68 | 76 | 71 |
Cap'n Proto (Packed) | 76 | 67 | 75 | 71 |
Smile | 84 | 76 | 82 | 80 |
FlexBuffers | 90 | 97 | 105 | 99 |
UBJSON | 93 | 79 | 86 | 83 |
JSON | 96 | 80 | 86 | 83 |
BSON | 147 | 97 | 112 | 97 |
Cap'n Proto (Binary) | 152 | 75 | 96 | 73 |
FlatBuffers | 156 | 95 | 122 | 91 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
FlexBuffers | flatc version 1.12.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
CommitLint Configuration (Basic)
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 25 bytes.
The input document is a Tier 1, Boolean, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 0 | 20 | 15 | 23 |
Protocol Buffers | 0 | 20 | 15 | 23 |
Apache Avro (unframed) | 1 | 21 | 20 | 24 |
Apache Thrift | 2 | 22 | 21 | 25 |
Cap'n Proto (Packed) | 6 | 26 | 25 | 29 |
CBOR | 17 | 37 | 36 | 41 |
JSON BinPack (Schema-less) | 17 | 37 | 36 | 41 |
MessagePack | 17 | 37 | 36 | 41 |
UBJSON | 19 | 39 | 38 | 43 |
FlatBuffers | 20 | 31 | 39 | 34 |
BSON | 22 | 41 | 41 | 44 |
Smile | 22 | 42 | 41 | 47 |
Cap'n Proto (Binary) | 24 | 31 | 41 | 31 |
FlexBuffers | 25 | 45 | 44 | 49 |
JSON | 25 | 45 | 44 | 49 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlatBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
Smile | clojure-1.10.2 cheshire-5.7.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlexBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
Entry Point Regulation Manifest
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 520 bytes.
The input document is a Tier 2, Textual, Redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 182 | 171 | 201 | 170 |
Apache Avro (unframed) | 195 | 168 | 197 | 167 |
Protocol Buffers | 247 | 196 | 222 | 189 |
Apache Thrift | 251 | 192 | 220 | 186 |
Cap'n Proto (Packed) | 318 | 255 | 280 | 241 |
JSON BinPack (Schema-less) | 321 | 282 | 318 | 274 |
Smile | 356 | 266 | 311 | 261 |
CBOR | 412 | 248 | 306 | 246 |
MessagePack | 412 | 262 | 307 | 254 |
FlexBuffers | 429 | 355 | 417 | 342 |
UBJSON | 469 | 272 | 326 | 265 |
FlatBuffers | 504 | 290 | 369 | 273 |
JSON | 520 | 264 | 332 | 272 |
Cap'n Proto (Binary) | 536 | 261 | 326 | 233 |
BSON | 564 | 304 | 378 | 299 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
FlexBuffers | flatc version 1.12.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlatBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
ESLint Configuration Document
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 1141 bytes.
The input document is a Tier 3, Numeric, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 64 | 80 | 83 | 83 |
Apache Avro (unframed) | 100 | 93 | 107 | 91 |
Cap'n Proto (Packed) | 131 | 130 | 141 | 129 |
Apache Thrift | 150 | 110 | 126 | 109 |
Protocol Buffers | 161 | 164 | 180 | 155 |
Cap'n Proto (Binary) | 216 | 136 | 177 | 128 |
FlatBuffers | 320 | 228 | 304 | 217 |
JSON BinPack (Schema-less) | 969 | 511 | 709 | 538 |
MessagePack | 971 | 525 | 711 | 546 |
CBOR | 979 | 504 | 716 | 544 |
Smile | 979 | 544 | 723 | 565 |
UBJSON | 1070 | 550 | 769 | 563 |
JSON | 1141 | 488 | 700 | 521 |
BSON | 1184 | 512 | 723 | 539 |
FlexBuffers | 1201 | 635 | 821 | 636 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
ECMAScript Module Loader Definition
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 102 bytes.
The input document is a Tier 2, Boolean, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 12 | 32 | 31 | 35 |
Apache Avro (unframed) | 16 | 36 | 35 | 39 |
Protocol Buffers | 23 | 43 | 42 | 47 |
Apache Thrift | 24 | 44 | 43 | 48 |
Cap'n Proto (Packed) | 35 | 55 | 54 | 59 |
CBOR | 64 | 81 | 83 | 82 |
JSON BinPack (Schema-less) | 64 | 80 | 83 | 84 |
MessagePack | 64 | 82 | 83 | 85 |
Smile | 70 | 87 | 89 | 91 |
UBJSON | 78 | 93 | 97 | 94 |
Cap'n Proto (Binary) | 80 | 68 | 82 | 67 |
FlatBuffers | 80 | 77 | 94 | 74 |
FlexBuffers | 91 | 107 | 110 | 109 |
BSON | 96 | 101 | 115 | 105 |
JSON | 102 | 101 | 117 | 103 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
FlexBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
JSON | ECMA-404 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
GeoJSON Example Document
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 190 bytes.
The input document is a Tier 2, Numeric, Redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 82 | 69 | 82 | 66 |
JSON BinPack (Schema-less) | 117 | 101 | 122 | 100 |
JSON | 190 | 121 | 146 | 116 |
Cap'n Proto (Packed) | 228 | 142 | 162 | 137 |
Apache Thrift | 277 | 110 | 136 | 104 |
Apache Avro (unframed) | 283 | 100 | 130 | 92 |
CBOR | 322 | 127 | 160 | 120 |
MessagePack | 322 | 128 | 160 | 121 |
Protocol Buffers | 325 | 115 | 145 | 107 |
UBJSON | 336 | 137 | 169 | 135 |
Smile | 408 | 142 | 176 | 137 |
FlexBuffers | 415 | 183 | 221 | 177 |
Cap'n Proto (Binary) | 448 | 146 | 197 | 132 |
BSON | 536 | 184 | 226 | 165 |
FlatBuffers | 680 | 221 | 289 | 195 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
JSON BinPack (Schema-less) | 1.1.1 |
JSON | ECMA-404 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
FlexBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
BSON | Python 3.9.5 pymongo |
FlatBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
GitHub FUNDING Sponsorship Definition (Empty)
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 183 bytes.
The input document is a Tier 2, Boolean, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
Apache Avro (unframed) | 16 | 36 | 35 | 39 |
JSON BinPack (Schema-driven) | 16 | 36 | 35 | 39 |
Protocol Buffers | 17 | 37 | 36 | 41 |
Apache Thrift | 18 | 38 | 37 | 42 |
Cap'n Proto (Packed) | 25 | 45 | 44 | 50 |
Cap'n Proto (Binary) | 40 | 50 | 56 | 51 |
FlatBuffers | 68 | 71 | 79 | 71 |
CBOR | 124 | 114 | 143 | 131 |
JSON BinPack (Schema-less) | 124 | 124 | 143 | 135 |
MessagePack | 124 | 124 | 143 | 136 |
Smile | 129 | 134 | 148 | 139 |
BSON | 133 | 125 | 152 | 137 |
UBJSON | 137 | 135 | 156 | 144 |
FlexBuffers | 152 | 143 | 168 | 148 |
JSON | 183 | 134 | 167 | 144 |
Implementations and Versions
Name | Version |
---|---|
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
JSON BinPack (Schema-driven) | 1.1.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
BSON | Python 3.9.5 pymongo |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlexBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
GitHub Workflow Definition
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 356 bytes.
The input document is a Tier 2, Textual, Non-redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 165 | 151 | 163 | 152 |
Apache Avro (unframed) | 167 | 153 | 164 | 153 |
Apache Thrift | 187 | 170 | 186 | 170 |
Protocol Buffers | 189 | 176 | 195 | 175 |
Cap'n Proto (Packed) | 242 | 232 | 247 | 230 |
JSON BinPack (Schema-less) | 277 | 233 | 261 | 228 |
MessagePack | 287 | 222 | 256 | 224 |
Smile | 287 | 235 | 268 | 240 |
CBOR | 288 | 208 | 257 | 216 |
UBJSON | 339 | 243 | 291 | 249 |
JSON | 356 | 228 | 292 | 247 |
FlexBuffers | 396 | 309 | 369 | 318 |
BSON | 411 | 273 | 347 | 278 |
FlatBuffers | 440 | 275 | 352 | 256 |
Cap'n Proto (Binary) | 464 | 241 | 299 | 223 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
FlatBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
Grunt.js Clean Task Definition
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 93 bytes.
The input document is a Tier 1, Textual, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 11 | 31 | 30 | 35 |
Apache Avro (unframed) | 16 | 31 | 35 | 34 |
Protocol Buffers | 20 | 36 | 39 | 41 |
Apache Thrift | 23 | 38 | 39 | 41 |
Cap'n Proto (Packed) | 39 | 53 | 58 | 56 |
JSON BinPack (Schema-less) | 57 | 76 | 76 | 79 |
CBOR | 60 | 75 | 79 | 77 |
MessagePack | 60 | 76 | 79 | 78 |
Smile | 70 | 85 | 88 | 88 |
UBJSON | 77 | 88 | 92 | 89 |
JSON | 93 | 94 | 106 | 95 |
FlexBuffers | 94 | 110 | 113 | 115 |
Cap'n Proto (Binary) | 96 | 66 | 85 | 66 |
BSON | 105 | 97 | 110 | 98 |
FlatBuffers | 116 | 77 | 104 | 74 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
BSON | Python 3.9.5 pymongo |
FlatBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
ImageOptimizer Azure Webjob Configuration
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 82 bytes.
The input document is a Tier 1, Textual, Non-redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 21 | 41 | 40 | 44 |
Protocol Buffers | 23 | 43 | 42 | 47 |
Apache Avro (unframed) | 24 | 44 | 43 | 47 |
Apache Thrift | 26 | 46 | 45 | 50 |
Cap'n Proto (Packed) | 44 | 64 | 63 | 68 |
CBOR | 61 | 76 | 78 | 76 |
JSON BinPack (Schema-less) | 61 | 76 | 78 | 78 |
MessagePack | 61 | 77 | 78 | 78 |
Smile | 70 | 86 | 88 | 88 |
UBJSON | 74 | 87 | 90 | 87 |
JSON | 82 | 88 | 96 | 90 |
FlexBuffers | 89 | 102 | 107 | 103 |
Cap'n Proto (Binary) | 96 | 76 | 97 | 72 |
FlatBuffers | 100 | 80 | 101 | 79 |
BSON | 102 | 103 | 117 | 100 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
JSON-e Templating Engine Reverse Sort Example
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 86 bytes.
The input document is a Tier 1, Numeric, Redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 10 | 30 | 29 | 33 |
Apache Avro (unframed) | 11 | 31 | 30 | 34 |
Protocol Buffers | 21 | 41 | 40 | 43 |
Apache Thrift | 22 | 39 | 41 | 40 |
Cap'n Proto (Packed) | 43 | 63 | 62 | 65 |
JSON BinPack (Schema-less) | 52 | 72 | 71 | 76 |
MessagePack | 52 | 73 | 71 | 76 |
CBOR | 53 | 73 | 72 | 76 |
Smile | 63 | 82 | 82 | 84 |
UBJSON | 70 | 83 | 89 | 87 |
JSON | 86 | 86 | 99 | 88 |
FlexBuffers | 95 | 109 | 114 | 111 |
BSON | 121 | 104 | 129 | 101 |
FlatBuffers | 136 | 89 | 126 | 87 |
Cap'n Proto (Binary) | 240 | 72 | 100 | 68 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
FlatBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
JSON-e Templating Engine Sort Example
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 34 bytes.
The input document is a Tier 1, Numeric, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 8 | 28 | 27 | 31 |
Apache Avro (unframed) | 9 | 29 | 28 | 32 |
Protocol Buffers | 10 | 30 | 29 | 33 |
Apache Thrift | 11 | 31 | 30 | 35 |
Cap'n Proto (Packed) | 18 | 38 | 37 | 41 |
CBOR | 21 | 41 | 40 | 46 |
JSON BinPack (Schema-less) | 21 | 41 | 40 | 46 |
MessagePack | 21 | 41 | 40 | 46 |
Smile | 27 | 48 | 46 | 52 |
UBJSON | 30 | 48 | 49 | 53 |
JSON | 34 | 54 | 53 | 58 |
FlexBuffers | 39 | 56 | 58 | 60 |
FlatBuffers | 44 | 51 | 63 | 51 |
Cap'n Proto (Binary) | 48 | 45 | 58 | 45 |
BSON | 65 | 66 | 79 | 66 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
FlatBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
JSON Feed Example Document
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 571 bytes.
The input document is a Tier 2, Textual, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 304 | 251 | 270 | 248 |
Apache Avro (unframed) | 398 | 241 | 287 | 245 |
Protocol Buffers | 411 | 254 | 300 | 261 |
Apache Thrift | 413 | 252 | 300 | 259 |
Cap'n Proto (Packed) | 468 | 325 | 365 | 321 |
JSON BinPack (Schema-less) | 512 | 327 | 394 | 332 |
MessagePack | 515 | 327 | 396 | 334 |
Smile | 519 | 330 | 401 | 337 |
CBOR | 521 | 315 | 401 | 329 |
UBJSON | 555 | 342 | 426 | 352 |
Cap'n Proto (Binary) | 568 | 323 | 409 | 312 |
JSON | 571 | 321 | 416 | 339 |
FlatBuffers | 584 | 334 | 429 | 329 |
BSON | 594 | 355 | 451 | 370 |
FlexBuffers | 596 | 404 | 473 | 397 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
JSON | ECMA-404 |
FlatBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
JSON Resume Example
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 3043 bytes.
The input document is a Tier 3, Textual, Non-redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 1449 | 1161 | 1350 | 1129 |
Apache Avro (unframed) | 2155 | 1282 | 1764 | 1307 |
Protocol Buffers | 2218 | 1355 | 1824 | 1360 |
Apache Thrift | 2223 | 1321 | 1805 | 1343 |
Cap'n Proto (Packed) | 2542 | 1656 | 2155 | 1661 |
JSON BinPack (Schema-less) | 2612 | 1619 | 2171 | 1630 |
Smile | 2613 | 1566 | 2161 | 1612 |
MessagePack | 2742 | 1587 | 2155 | 1605 |
CBOR | 2747 | 1541 | 2156 | 1574 |
UBJSON | 2970 | 1641 | 2266 | 1656 |
FlexBuffers | 3041 | 1956 | 2554 | 1929 |
JSON | 3043 | 1539 | 2196 | 1579 |
FlatBuffers | 3108 | 1673 | 2283 | 1617 |
Cap'n Proto (Binary) | 3136 | 1612 | 2213 | 1562 |
BSON | 3276 | 1767 | 2438 | 1755 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlexBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
FlatBuffers | flatc version 1.12.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
.NET Core Project
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 1049 bytes.
The input document is a Tier 3, Textual, Redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 132 | 129 | 144 | 123 |
Apache Avro (unframed) | 242 | 93 | 120 | 98 |
Apache Thrift | 283 | 113 | 136 | 115 |
Protocol Buffers | 284 | 155 | 195 | 152 |
Cap'n Proto (Packed) | 376 | 181 | 214 | 180 |
Cap'n Proto (Binary) | 608 | 195 | 266 | 180 |
FlatBuffers | 636 | 279 | 364 | 247 |
JSON BinPack (Schema-less) | 748 | 481 | 557 | 465 |
Smile | 870 | 453 | 558 | 450 |
FlexBuffers | 890 | 559 | 664 | 552 |
MessagePack | 919 | 458 | 565 | 443 |
CBOR | 923 | 435 | 566 | 434 |
UBJSON | 1008 | 464 | 581 | 458 |
JSON | 1049 | 411 | 546 | 425 |
BSON | 1084 | 442 | 574 | 453 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
FlexBuffers | flatc version 1.12.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
Nightwatch.js Test Framework Configuration
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 1507 bytes.
The input document is a Tier 3, Boolean, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 73 | 94 | 92 | 97 |
Apache Avro (unframed) | 92 | 104 | 111 | 107 |
Protocol Buffers | 109 | 129 | 128 | 132 |
Apache Thrift | 134 | 142 | 153 | 142 |
Cap'n Proto (Packed) | 149 | 148 | 157 | 151 |
Cap'n Proto (Binary) | 304 | 170 | 209 | 158 |
FlatBuffers | 464 | 302 | 390 | 257 |
JSON BinPack (Schema-less) | 1085 | 678 | 885 | 688 |
Smile | 1090 | 683 | 886 | 701 |
MessagePack | 1172 | 670 | 871 | 678 |
CBOR | 1176 | 640 | 873 | 667 |
UBJSON | 1268 | 692 | 935 | 710 |
BSON | 1327 | 666 | 933 | 694 |
FlexBuffers | 1389 | 869 | 1139 | 873 |
JSON | 1507 | 649 | 925 | 682 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
BSON | Python 3.9.5 pymongo |
FlexBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
OpenWeatherMap API Example Document
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 494 bytes.
The input document is a Tier 2, Numeric, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 113 | 134 | 132 | 137 |
Apache Avro (unframed) | 148 | 163 | 167 | 166 |
Protocol Buffers | 188 | 199 | 207 | 203 |
Apache Thrift | 191 | 199 | 209 | 202 |
Cap'n Proto (Packed) | 206 | 219 | 225 | 220 |
Cap'n Proto (Binary) | 320 | 236 | 288 | 222 |
JSON BinPack (Schema-less) | 349 | 331 | 362 | 321 |
MessagePack | 382 | 358 | 393 | 350 |
CBOR | 383 | 347 | 394 | 339 |
FlatBuffers | 384 | 307 | 367 | 285 |
Smile | 412 | 389 | 418 | 372 |
UBJSON | 439 | 382 | 446 | 379 |
BSON | 480 | 394 | 471 | 395 |
JSON | 494 | 341 | 470 | 361 |
FlexBuffers | 660 | 502 | 590 | 483 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
FlatBuffers | flatc version 1.12.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
BSON | Python 3.9.5 pymongo |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
OpenWeather Road Risk API Example
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 385 bytes.
The input document is a Tier 2, Numeric, Non-redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 102 | 121 | 121 | 120 |
Apache Avro (unframed) | 156 | 156 | 168 | 156 |
Protocol Buffers | 173 | 171 | 183 | 172 |
Apache Thrift | 177 | 171 | 184 | 173 |
Cap'n Proto (Packed) | 204 | 204 | 214 | 205 |
JSON BinPack (Schema-less) | 261 | 265 | 277 | 255 |
Cap'n Proto (Binary) | 296 | 216 | 265 | 203 |
FlatBuffers | 328 | 251 | 297 | 235 |
Smile | 334 | 305 | 332 | 296 |
MessagePack | 346 | 283 | 304 | 265 |
CBOR | 347 | 282 | 305 | 262 |
UBJSON | 384 | 301 | 325 | 284 |
JSON | 385 | 254 | 308 | 257 |
BSON | 434 | 324 | 366 | 312 |
FlexBuffers | 498 | 390 | 442 | 372 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
NPM Package.json Example Manifest
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 2259 bytes.
The input document is a Tier 3, Textual, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 947 | 839 | 886 | 793 |
Apache Avro (unframed) | 1500 | 800 | 1060 | 820 |
Apache Thrift | 1561 | 848 | 1108 | 860 |
Protocol Buffers | 1581 | 888 | 1149 | 903 |
Cap'n Proto (Packed) | 1755 | 1013 | 1280 | 1009 |
JSON BinPack (Schema-less) | 1957 | 1129 | 1471 | 1139 |
Smile | 1983 | 1119 | 1473 | 1138 |
CBOR | 1990 | 1083 | 1477 | 1099 |
MessagePack | 1995 | 1131 | 1482 | 1143 |
UBJSON | 2171 | 1173 | 1571 | 1178 |
Cap'n Proto (Binary) | 2216 | 1008 | 1362 | 977 |
JSON | 2259 | 1093 | 1519 | 1129 |
FlatBuffers | 2268 | 1132 | 1512 | 1064 |
FlexBuffers | 2320 | 1395 | 1766 | 1381 |
BSON | 2386 | 1226 | 1658 | 1236 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
JSON | ECMA-404 |
FlatBuffers | flatc version 1.12.0 |
FlexBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
NPM Package.json Linter Configuration Manifest
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 1159 bytes.
The input document is a Tier 3, Textual, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 90 | 80 | 85 | 81 |
Apache Avro (unframed) | 201 | 75 | 86 | 78 |
Apache Thrift | 420 | 91 | 102 | 95 |
Protocol Buffers | 454 | 197 | 252 | 172 |
Cap'n Proto (Packed) | 519 | 120 | 136 | 119 |
JSON BinPack (Schema-less) | 791 | 457 | 542 | 430 |
Cap'n Proto (Binary) | 880 | 131 | 165 | 123 |
FlexBuffers | 942 | 522 | 629 | 510 |
FlatBuffers | 960 | 288 | 389 | 248 |
MessagePack | 989 | 366 | 476 | 365 |
CBOR | 993 | 349 | 477 | 358 |
Smile | 1002 | 380 | 499 | 388 |
UBJSON | 1117 | 374 | 489 | 377 |
JSON | 1159 | 321 | 440 | 344 |
BSON | 1295 | 348 | 478 | 366 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
JSON BinPack (Schema-less) | 1.1.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlexBuffers | flatc version 1.12.0 |
FlatBuffers | flatc version 1.12.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
SAP Cloud SDK Continuous Delivery Toolkit Configuration
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 44 bytes.
The input document is a Tier 1, Boolean, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
Apache Avro (unframed) | 0 | 20 | 15 | 23 |
JSON BinPack (Schema-driven) | 0 | 20 | 15 | 23 |
Protocol Buffers | 0 | 20 | 15 | 23 |
Apache Thrift | 1 | 21 | 20 | 24 |
Cap'n Proto (Packed) | 7 | 27 | 26 | 29 |
Cap'n Proto (Binary) | 16 | 33 | 35 | 32 |
FlatBuffers | 24 | 35 | 43 | 38 |
CBOR | 25 | 45 | 44 | 48 |
JSON BinPack (Schema-less) | 25 | 45 | 44 | 49 |
MessagePack | 25 | 45 | 44 | 49 |
BSON | 29 | 46 | 48 | 49 |
UBJSON | 29 | 49 | 48 | 52 |
Smile | 30 | 50 | 49 | 54 |
FlexBuffers | 37 | 52 | 56 | 55 |
JSON | 44 | 50 | 58 | 55 |
Implementations and Versions
Name | Version |
---|---|
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
JSON BinPack (Schema-driven) | 1.1.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
BSON | Python 3.9.5 pymongo |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
FlexBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
TravisCI Notifications Configuration
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 673 bytes.
The input document is a Tier 2, Textual, Redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 89 | 98 | 108 | 99 |
JSON BinPack (Schema-less) | 185 | 175 | 202 | 177 |
FlexBuffers | 228 | 214 | 244 | 207 |
Apache Avro (unframed) | 504 | 90 | 103 | 91 |
Protocol Buffers | 521 | 114 | 133 | 109 |
Apache Thrift | 521 | 95 | 106 | 96 |
Cap'n Proto (Packed) | 566 | 125 | 135 | 120 |
Smile | 604 | 168 | 199 | 173 |
CBOR | 627 | 147 | 192 | 160 |
MessagePack | 627 | 157 | 192 | 163 |
Cap'n Proto (Binary) | 640 | 129 | 152 | 120 |
UBJSON | 658 | 163 | 198 | 169 |
FlatBuffers | 668 | 175 | 215 | 164 |
JSON | 673 | 154 | 195 | 164 |
BSON | 699 | 160 | 204 | 167 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
JSON BinPack (Schema-less) | 1.1.1 |
FlexBuffers | flatc version 1.12.0 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlatBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
TSLint Linter Definition (Basic)
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 67 bytes.
The input document is a Tier 1, Boolean, Non-redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
Apache Avro (unframed) | 1 | 21 | 20 | 24 |
JSON BinPack (Schema-driven) | 1 | 21 | 20 | 24 |
Protocol Buffers | 8 | 28 | 27 | 31 |
Apache Thrift | 8 | 26 | 27 | 28 |
Cap'n Proto (Packed) | 12 | 29 | 31 | 31 |
Cap'n Proto (Binary) | 48 | 33 | 44 | 34 |
CBOR | 51 | 62 | 70 | 63 |
JSON BinPack (Schema-less) | 51 | 61 | 70 | 64 |
MessagePack | 51 | 62 | 70 | 64 |
Smile | 59 | 68 | 73 | 71 |
UBJSON | 59 | 66 | 72 | 67 |
FlatBuffers | 60 | 53 | 64 | 49 |
JSON | 67 | 68 | 74 | 70 |
BSON | 71 | 74 | 82 | 74 |
FlexBuffers | 77 | 76 | 88 | 80 |
Implementations and Versions
Name | Version |
---|---|
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
JSON BinPack (Schema-driven) | 1.1.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlatBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
BSON | Python 3.9.5 pymongo |
FlexBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
TSLint Linter Definition (Extends Only)
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 63 bytes.
The input document is a Tier 1, Textual, Non-redundant, Flat document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 46 | 54 | 56 | 57 |
Apache Avro (unframed) | 47 | 55 | 57 | 58 |
Protocol Buffers | 47 | 55 | 57 | 58 |
Apache Thrift | 48 | 56 | 58 | 59 |
CBOR | 55 | 63 | 65 | 65 |
JSON BinPack (Schema-less) | 55 | 63 | 65 | 65 |
MessagePack | 55 | 63 | 65 | 65 |
Smile | 61 | 69 | 71 | 72 |
Cap'n Proto (Packed) | 62 | 68 | 70 | 73 |
UBJSON | 62 | 70 | 72 | 72 |
JSON | 63 | 70 | 72 | 73 |
FlexBuffers | 70 | 78 | 81 | 80 |
BSON | 78 | 79 | 85 | 80 |
Cap'n Proto (Binary) | 88 | 77 | 90 | 75 |
FlatBuffers | 88 | 78 | 91 | 78 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
FlatBuffers | flatc version 1.12.0 |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |
TSLint Linter Definition (Multi-rule)
The input document, origin and schema definitions for this case can be seen on GitHub.
The UTF-8 minified input JSON document is 98 bytes.
The input document is a Tier 1, Boolean, Redundant, Nested document according to the JSON Taxonomy project.
Raw Data
Name | Uncompressed | GZIP (-9) | LZ4 (-12) | LZMA (-9) |
---|---|---|---|---|
JSON BinPack (Schema-driven) | 1 | 21 | 20 | 24 |
Apache Avro (unframed) | 7 | 27 | 26 | 29 |
Protocol Buffers | 14 | 34 | 33 | 36 |
Apache Thrift | 14 | 31 | 33 | 34 |
Cap'n Proto (Packed) | 23 | 37 | 42 | 41 |
CBOR | 68 | 80 | 87 | 81 |
JSON BinPack (Schema-less) | 68 | 80 | 87 | 82 |
MessagePack | 68 | 81 | 87 | 82 |
Smile | 78 | 88 | 92 | 92 |
Cap'n Proto (Binary) | 80 | 44 | 59 | 45 |
UBJSON | 80 | 84 | 94 | 89 |
FlatBuffers | 84 | 71 | 94 | 69 |
JSON | 98 | 90 | 99 | 92 |
FlexBuffers | 102 | 106 | 116 | 109 |
BSON | 104 | 99 | 109 | 100 |
Implementations and Versions
Name | Version |
---|---|
JSON BinPack (Schema-driven) | 1.1.1 |
Apache Avro (unframed) | Python 3.9.5 avro 1.10.1 |
Protocol Buffers | Python 3.9.5 protobuf 3.12.4 libprotoc 3.12.4 |
Apache Thrift | Python 3.9.5 thrift 0.13.0 Thrift version 0.13.0 |
Cap'n Proto (Packed) | Cap'n Proto version 0.7.0 |
CBOR | Python 3.9.5 cbor2 5.2.0 |
JSON BinPack (Schema-less) | 1.1.1 |
MessagePack | Python 3.9.5 msgpack 1.0.0 |
Smile | clojure-1.10.2 cheshire-5.7.1 |
Cap'n Proto (Binary) | Cap'n Proto version 0.7.0 |
UBJSON | Python 3.9.5 ubjson 0.16.1 |
FlatBuffers | flatc version 1.12.0 |
JSON | ECMA-404 |
FlexBuffers | flatc version 1.12.0 |
BSON | Python 3.9.5 pymongo |
GZIP (-9) | gzip 1.10 |
LZ4 (-12) | *** LZ4 command line interface 64-bits v1.9.3, by Yann Collet *** |
LZMA (-9) | LZMA command line tool 9.22 LZMA SDK 9.22 |