JSON.parse vs eval

JavaScript performance comparison

Revision 6 of this test case created by Yehor

Info

A comparison between native JSON.parse functions and eval with validation.

Preparation code

<script>
  function parse(json) {
   return eval('(' + json + ')');
  }

  function fn(json){
   return Function('return '+json)();
  }
 
  var str = JSON.stringify({
   someArray: ['foo', 'bar', 123],
   someObject: {
    foo: 'bar',
    embedded: {
     eleet: 1337
    }
   },
   someString: '"Hi there!"',
   someNumber: 123,
   someBoolean: true
  });
</script>

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
JSON.parse
JSON.parse(str);
pending…
eval
parse(str);
pending…
function
fn(str);
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. Here’s a list of current revisions for this page:

0 comments

Add a comment