cloning an object

JavaScript performance comparison

Revision 134 of this test case created by

Preparation code

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>

      
<script>
Benchmark.prototype.setup = function() {
  var oldObject = {
    type: "segments",
    settings: {
      size: "lg",
      segmentModal: true,
      searchType: "segments",
      windowClass: "segment-modal search-modal-window",
      templateUrl: "segment-manager-view/segment-modal-template.html"
    },
    label: "report.build.segments",
    actions: [{
      label: "controls.modify",
      description: "report.build.addSegmentDescription",
      content: "report/builder/add-segment"
    }],
    options: {
      headerText: "report.config.selectSegments",
      searchPlaceholderText: "report.build.searchSegments",
      actionButtonText: "report.config.addSegment",
      maximumSelectable: 1,
      headerColSize: 5
    }
  };

};
</script>

Preparation code output

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></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
jQuery.extend() deep
var newObject = jQuery.extend(true, {}, oldObject);
pending…
JSON stringify/parse
var newObject = JSON.parse(JSON.stringify(oldObject));
pending…
angular.copy()
var newObject = angular.copy({}, oldObject);
pending…
stringify eval
var newObject = eval("(" + JSON.stringify(oldObject) + ")");
pending…
angular.extend()
var newObject = angular.extend({}, oldObject);
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