Msgpack-js vs JSON

JavaScript performance comparison

Test case created by Tim Caswell

Preparation code

<script src="https://raw.github.com/creationix/msgpack-js-browser/master/msgpack.js"></script>
      
<script>
Benchmark.prototype.setup = function() {
  var stringData = {"glossary":{"title":"example glossary","GlossDiv":{"title":"S","GlossList":{"GlossEntry":{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","GlossDef":{"para":"A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso":["GML","XML"]},"GlossSee":"markup"}}}}};
  var numberData = [
    [1, 2, 3, 4, -1, true, null],
    [3, 6, 5, 4,  1, false, 7],
    [3, 2, 8, 1,  0, true, 0],
    [10, 11, 12, 13,  14, false, true],
    [15, 16, 17, 18, 19, true, null],
    [20, 21, 22, 23,  24, false, 7],
    [25, 26, 27, 28,  29, true, 0],
    100, 200, 300,
    [
      [1, 0, 0, 0, 0],
      [0, 1, 0, 0, 0],
      [0, 0, 1, 0, 0],
      [0, 0, 0, 1, 0],
      [0, 0, 0, 0, 1]
    ]
  ]
  

};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
JSON strings
var result = JSON.parse(JSON.stringify(stringData));
pending…
JSON numbers
var result = JSON.parse(JSON.stringify(numberData));
pending…
MsgPack strings
var result = msgpack.decode(msgpack.encode(stringData));
pending…
MsgPack numbers
var result = msgpack.decode(msgpack.encode(numberData));
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL.

0 Comments