JSON parse vs regex match

Benchmark created by Isaac on


Preparation HTML

<script>
  var jsonstr = '[{"name":"joe","x":1,"y":2,"z":3},{"name":"mary","x":1,"y":2,"z":3},{"name":"larry","x":1,"y":2,"z":3}]';
var serialized = "joe,122,2333,3444|larry,3,2,1|mary,6,7,8"
  
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
JSON.parse
var result = JSON.parse(jsonstr);
ready
split & regex
var s = serialized.split("|")

var result = [];

for (var i = 0; i < s.length; i++) {

  var g = (s[i]).match(/(\w+)/g);
  result.push({
    name: g[0],
    x: g[1],
    y: g[2],
    z: g[3]
  });
}
ready
split
var items = serialized.split("|");

var result = [];

for (var i = 0; i < items.length; i++) {

  var g = items[i].split(",");
  result.push({
    name: g[0],
    x: g[1],
    y: g[2],
    z: g[3]
  });
}
ready
split obj
var items = serialized.split("|");

var result = {};

for (var i = 0; i < items.length; i++) {

  var g = items[i].split(",");
  result[g[0]] = {
    name: g[0],
    x: g[1],
    y: g[2],
    z: g[3]
  };
}
ready

Revisions

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