JSON.parse + JSON.stringify vs _.cloneDeep (v15)

Revision 15 of this benchmark created on


Description

Updated lodash

Preparation HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>

Setup

var x = {
          "list": {
            "0oVwOM": {
              "id": "0oVwOM",
              "parent": "pTlmbh",
              "name": "New node",
              "created_at": 1384289621
            },
            "aHxe8k": {
              "id": "aHxe8k",
              "parent": "Fhs2hL",
              "name": "hjkhjkhjk",
              "created_at": 1384354593
            },
            "Fhs2hL": {
              "id": "Fhs2hL",
              "parent": "root",
              "name": "test",
              "created_at": 1383403881
            },
            "HYPSgv": {
              "id": "HYPSgv",
              "parent": "0oVwOM",
              "name": "New node",
              "created_at": 1384342657
            },
            "osFIMf": {
              "id": "osFIMf",
              "parent": "root",
              "name": "New node",
              "created_at": 1384354584
            },
            "PsovXE": {
              "id": "PsovXE",
              "parent": "root",
              "name": "hjkhjkhjk",
              "created_at": 1384354589
            },
            "pTlmbh": {
              "id": "pTlmbh",
              "parent": "Fhs2hL",
              "name": "New node",
              "created_at": 1384289277
            },
            "RbXhdJ": {
              "id": "RbXhdJ",
              "parent": "root",
              "name": "empty",
              "created_at": 1384359806
            }
          },
          "maps": {
            "parent": {
              "pTlmbh": {
                "0oVwOM": {
                  "id": "0oVwOM",
                  "parent": "pTlmbh",
                  "name": "New node",
                  "created_at": 1384289621
                }
              },
              "Fhs2hL": {
                "aHxe8k": {
                  "id": "aHxe8k",
                  "parent": "Fhs2hL",
                  "name": "hjkhjkhjk",
                  "created_at": 1384354593
                },
                "pTlmbh": {
                  "id": "pTlmbh",
                  "parent": "Fhs2hL",
                  "name": "New node",
                  "created_at": 1384289277
                }
              },
              "root": {
                "Fhs2hL": {
                  "id": "Fhs2hL",
                  "parent": "root",
                  "name": "test",
                  "created_at": 1383403881
                },
                "osFIMf": {
                  "id": "osFIMf",
                  "parent": "root",
                  "name": "New node",
                  "created_at": 1384354584
                },
                "PsovXE": {
                  "id": "PsovXE",
                  "parent": "root",
                  "name": "hjkhjkhjk",
                  "created_at": 1384354589
                },
                "RbXhdJ": {
                  "id": "RbXhdJ",
                  "parent": "root",
                  "name": "empty",
                  "created_at": 1384359806
                }
              },
              "0oVwOM": {
                "HYPSgv": {
                  "id": "HYPSgv",
                  "parent": "0oVwOM",
                  "name": "New node",
                  "created_at": 1384342657
                }
              }
            },
            "path": [
              ["Fhs2hL"],
              ["Fhs2hL", "aHxe8k"],
              ["Fhs2hL", "pTlmbh"],
              ["Fhs2hL", "pTlmbh", "0oVwOM"],
              ["Fhs2hL", "pTlmbh", "0oVwOM", "HYPSgv"],
              ["osFIMf"],
              ["PsovXE"],
              ["RbXhdJ"]
            ]
          }
        };

Test runner

Ready to run.

Testing in
TestOps/sec
JSON.parse + JSON.stringify
var ergebnis = JSON.parse(JSON.stringify(x))
ready
_.cloneDeep
var ergebnis = _.cloneDeep(x);
ready

Revisions

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