Last active
January 23, 2017 15:46
-
-
Save seeden/e4ff1bb3384773af63211474a171dd3a to your computer and use it in GitHub Desktop.
ES6 Computed property name VS Property assign (http://jsbench.github.io/#e4ff1bb3384773af63211474a171dd3a) #jsbench #jsperf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"/> | |
<title>ES6 Computed property name VS Property assign</title> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/benchmark/1.0.0/benchmark.min.js"></script> | |
<script src="./suite.js"></script> | |
</head> | |
<body> | |
<h1>Open the console to view the results</h1> | |
<h2><code>cmd + alt + j</code> or <code>ctrl + alt + j</code></h2> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
(function (factory) { | |
if (typeof Benchmark !== "undefined") { | |
factory(Benchmark); | |
} else { | |
factory(require("benchmark")); | |
} | |
})(function (Benchmark) { | |
var suite = new Benchmark.Suite; | |
suite.add("Property assign ES 5 and bellow", function () { | |
// Property assign ES 5 and bellow | |
const propertyName = 'test'; | |
for (let i = 0; i < 1000000; i++) { | |
const obj = {}; | |
obj[propertyName] = i; | |
} | |
}); | |
suite.add("Computed property name ES6", function () { | |
// Computed property name ES6 | |
const propertyName = 'test'; | |
for (let i = 0; i < 1000000; i++) { | |
const obj = { | |
[propertyName]: i, | |
}; | |
} | |
}); | |
suite.on("cycle", function (evt) { | |
console.log(" - " + evt.target); | |
}); | |
suite.on("complete", function (evt) { | |
console.log(new Array(30).join("-")); | |
var results = evt.currentTarget.sort(function (a, b) { | |
return b.hz - a.hz; | |
}); | |
results.forEach(function (item) { | |
console.log((idx + 1) + ". " + item); | |
}); | |
}); | |
console.log("ES6 Computed property name VS Property assign"); | |
console.log(new Array(30).join("-")); | |
suite.run(); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment