WAMP Message Serialization Benchmarks

Report generated on 2019-03-16T19:18:52.399Z.

Payload size "empty"

Payload mode "normal"


pypy:
message rate transfer speed message size CPU profile
json 435,089 messages/s 27.1 MB/s 62 bytes link
ujson 47,894 messages/s 3.0 MB/s 62 bytes link
msgpack 806,230 messages/s 33.1 MB/s 41 bytes link
cbor 767,215 messages/s 31.9 MB/s 41 bytes link
cbor2 280,349 messages/s 11.6 MB/s 42 bytes link
ubjson 65,005 messages/s 3.0 MB/s 46 bytes link
flatbuffers 290,668 messages/s 25.6 MB/s 88 bytes link


cpy:
message rate transfer speed message size CPU profile
json 62,881 messages/s 3.9 MB/s 62 bytes link
ujson 86,827 messages/s 5.4 MB/s 62 bytes link
msgpack 89,620 messages/s 3.7 MB/s 41 bytes link
cbor 99,868 messages/s 4.1 MB/s 42 bytes link
cbor2 42,286 messages/s 1.8 MB/s 41 bytes link
ubjson 78,749 messages/s 3.6 MB/s 46 bytes link
flatbuffers 10,102 messages/s 889.0 kB/s 88 bytes link


Payload mode "transparent"


pypy:
message rate transfer speed message size CPU profile
json 542,698 messages/s 30.0 MB/s 55 bytes link
ujson 69,857 messages/s 3.9 MB/s 55 bytes link
msgpack 901,612 messages/s 35.2 MB/s 39 bytes link
cbor 955,224 messages/s 37.7 MB/s 39 bytes link
cbor2 309,782 messages/s 12.2 MB/s 39 bytes link
ubjson 78,478 messages/s 3.3 MB/s 42 bytes link
flatbuffers 367,271 messages/s 27.9 MB/s 76 bytes link


cpy:
message rate transfer speed message size CPU profile
json 55,772 messages/s 3.1 MB/s 55 bytes link
ujson 77,631 messages/s 4.3 MB/s 55 bytes link
msgpack 92,687 messages/s 3.6 MB/s 39 bytes link
cbor 100,897 messages/s 4.0 MB/s 40 bytes link
cbor2 38,274 messages/s 1.5 MB/s 39 bytes link
ubjson 71,228 messages/s 3.0 MB/s 42 bytes link
flatbuffers 9,776 messages/s 743.1 kB/s 76 bytes link


Payload size "small"

Payload mode "normal"


pypy:
message rate transfer speed message size CPU profile
json 70,261 messages/s 28.9 MB/s 411 bytes link
ujson 13,517 messages/s 5.2 MB/s 384 bytes link
msgpack 246,272 messages/s 72.9 MB/s 296 bytes link
cbor 230,288 messages/s 68.8 MB/s 299 bytes link
cbor2 81,007 messages/s 24.2 MB/s 299 bytes link
ubjson 12,020 messages/s 4.0 MB/s 331 bytes link
flatbuffers 116,925 messages/s 40.8 MB/s 349 bytes link


cpy:
message rate transfer speed message size CPU profile
json 39,093 messages/s 16.1 MB/s 411 bytes link
ujson 72,286 messages/s 27.7 MB/s 384 bytes link
msgpack 78,379 messages/s 23.2 MB/s 296 bytes link
cbor 80,455 messages/s 24.0 MB/s 299 bytes link
cbor2 16,993 messages/s 5.1 MB/s 299 bytes link
ubjson 58,277 messages/s 19.3 MB/s 331 bytes link
flatbuffers 7,744 messages/s 2.7 MB/s 349 bytes link


Payload mode "transparent"


pypy:
message rate transfer speed message size CPU profile
json 190,259 messages/s 77.6 MB/s 408 bytes link
msgpack 813,417 messages/s 243.4 MB/s 299 bytes link
cbor 800,151 messages/s 239.9 MB/s 300 bytes link
cbor2 285,529 messages/s 85.6 MB/s 300 bytes link
ubjson 69,035 messages/s 21.2 MB/s 307 bytes link
flatbuffers 284,608 messages/s 99.6 MB/s 350 bytes link


cpy:
message rate transfer speed message size CPU profile
json 44,420 messages/s 18.1 MB/s 408 bytes link
msgpack 86,373 messages/s 25.8 MB/s 299 bytes link
cbor 97,947 messages/s 29.4 MB/s 300 bytes link
cbor2 36,060 messages/s 10.8 MB/s 300 bytes link
ubjson 69,576 messages/s 21.3 MB/s 307 bytes link
flatbuffers 8,536 messages/s 3.0 MB/s 350 bytes link


Payload size "medium"

Payload mode "normal"


pypy:
message rate transfer speed message size CPU profile
json 28,210 messages/s 32.8 MB/s 1161 bytes link
ujson 4,303 messages/s 4.9 MB/s 1136 bytes link
msgpack 97,637 messages/s 86.8 MB/s 889 bytes link
cbor 88,945 messages/s 80.0 MB/s 899 bytes link
cbor2 44,638 messages/s 40.2 MB/s 900 bytes link
ubjson 3,767 messages/s 3.9 MB/s 1025 bytes link
flatbuffers 69,090 messages/s 65.6 MB/s 950 bytes link


cpy:
message rate transfer speed message size CPU profile
json 23,073 messages/s 26.8 MB/s 1161 bytes link
ujson 41,623 messages/s 47.3 MB/s 1136 bytes link
msgpack 62,631 messages/s 55.7 MB/s 889 bytes link
cbor 54,078 messages/s 48.7 MB/s 900 bytes link
cbor2 5,980 messages/s 5.4 MB/s 900 bytes link
ubjson 31,601 messages/s 32.4 MB/s 1025 bytes link
flatbuffers 7,626 messages/s 7.2 MB/s 950 bytes link


Payload mode "transparent"


pypy:
message rate transfer speed message size CPU profile
json 88,684 messages/s 107.3 MB/s 1209 bytes link
msgpack 627,973 messages/s 565.9 MB/s 901 bytes link
cbor 613,010 messages/s 552.8 MB/s 902 bytes link
cbor2 276,377 messages/s 249.2 MB/s 902 bytes link
ubjson 62,910 messages/s 57.2 MB/s 909 bytes link
flatbuffers 246,248 messages/s 234.7 MB/s 953 bytes link


cpy:
message rate transfer speed message size CPU profile
json 36,908 messages/s 44.6 MB/s 1209 bytes link
msgpack 88,302 messages/s 79.6 MB/s 901 bytes link
cbor 95,058 messages/s 85.7 MB/s 902 bytes link
cbor2 38,147 messages/s 34.4 MB/s 902 bytes link
ubjson 70,640 messages/s 64.2 MB/s 909 bytes link
flatbuffers 8,270 messages/s 7.9 MB/s 953 bytes link


Payload size "large"

Payload mode "normal"


pypy:
message rate transfer speed message size CPU profile
json 10,243 messages/s 28.0 MB/s 2729 bytes link
ujson 1,605 messages/s 4.4 MB/s 2712 bytes link
msgpack 34,119 messages/s 71.5 MB/s 2094 bytes link
cbor 35,171 messages/s 74.1 MB/s 2108 bytes link
cbor2 18,638 messages/s 39.3 MB/s 2108 bytes link
ubjson 1,555 messages/s 3.9 MB/s 2500 bytes link
flatbuffers 28,113 messages/s 60.7 MB/s 2158 bytes link


cpy:
message rate transfer speed message size CPU profile
json 13,088 messages/s 35.7 MB/s 2729 bytes link
ujson 24,737 messages/s 67.1 MB/s 2712 bytes link
msgpack 42,756 messages/s 89.5 MB/s 2094 bytes link
cbor 31,078 messages/s 65.5 MB/s 2108 bytes link
cbor2 2,396 messages/s 5.0 MB/s 2108 bytes link
ubjson 16,148 messages/s 40.4 MB/s 2500 bytes link
flatbuffers 6,331 messages/s 13.7 MB/s 2158 bytes link


Payload mode "transparent"


pypy:
message rate transfer speed message size CPU profile
json 39,897 messages/s 112.5 MB/s 2820 bytes link
msgpack 570,417 messages/s 1.2 GB/s 2109 bytes link
cbor 473,407 messages/s 998.8 MB/s 2110 bytes link
cbor2 253,397 messages/s 534.6 MB/s 2110 bytes link
ubjson 53,892 messages/s 114.1 MB/s 2116 bytes link
flatbuffers 119,651 messages/s 258.6 MB/s 2161 bytes link


cpy:
message rate transfer speed message size CPU profile
json 28,048 messages/s 79.1 MB/s 2820 bytes link
msgpack 84,318 messages/s 177.8 MB/s 2109 bytes link
cbor 92,708 messages/s 195.6 MB/s 2110 bytes link
cbor2 36,322 messages/s 76.6 MB/s 2110 bytes link
ubjson 68,085 messages/s 144.1 MB/s 2117 bytes link
flatbuffers 7,719 messages/s 16.7 MB/s 2161 bytes link


Payload size "xl"

Payload mode "normal"


pypy:
message rate transfer speed message size CPU profile
msgpack 99,202 messages/s 1.7 GB/s 16689 bytes link
cbor 107,182 messages/s 1.8 GB/s 16692 bytes link


cpy:
message rate transfer speed message size CPU profile
msgpack 66,360 messages/s 1.1 GB/s 16689 bytes link
cbor 68,747 messages/s 1.1 GB/s 16692 bytes link


Payload mode "transparent"


pypy:
message rate transfer speed message size CPU profile
msgpack 226,329 messages/s 3.8 GB/s 16693 bytes link
cbor 204,980 messages/s 3.4 GB/s 16694 bytes link


cpy:
message rate transfer speed message size CPU profile
msgpack 75,334 messages/s 1.3 GB/s 16693 bytes link
cbor 83,079 messages/s 1.4 GB/s 16694 bytes link


Payload size "xxl"

Payload mode "normal"


pypy:
message rate transfer speed message size CPU profile
msgpack 24,977 messages/s 3.3 GB/s 131379 bytes link
cbor 13,017 messages/s 1.7 GB/s 131382 bytes link


cpy:
message rate transfer speed message size CPU profile
msgpack 36,503 messages/s 4.8 GB/s 131379 bytes link
cbor 36,389 messages/s 4.8 GB/s 131382 bytes link


Payload mode "transparent"


pypy:
message rate transfer speed message size CPU profile
msgpack 30,671 messages/s 4.0 GB/s 131385 bytes link
cbor 30,087 messages/s 4.0 GB/s 131386 bytes link


cpy:
message rate transfer speed message size CPU profile
msgpack 38,246 messages/s 5.0 GB/s 131385 bytes link
cbor 40,425 messages/s 5.3 GB/s 131386 bytes link