Msgpack-js vs JSON (v10)

Revision 10 of this benchmark created on


Description

Comparing the speed of msgpack-js using typed arrays against JSON.parse and JSON.stringify

Preparation HTML

<script type="javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="javascript" src="http://htmlpreview.github.io/?https://github.com/creationix/msgpack-js/blob/master/msgpack.js"></script>

Setup

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]
      ]
    ]

Test runner

Ready to run.

Testing in
TestOps/sec
JSON strings
var result = JSON.parse(JSON.stringify(stringData));
ready
JSON numbers
var result = JSON.parse(JSON.stringify(numberData));
ready
MsgPack strings
var result = msgpack.decode(msgpack.encode(stringData));
ready
MsgPack numbers
var result = msgpack.decode(msgpack.encode(numberData));
ready

Revisions

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