Skip to content

Instantly share code, notes, and snippets.

@RomanPerekhrest
Last active October 30, 2019 11:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save RomanPerekhrest/be710bc0a4b288e024d5bd67286b1c8c to your computer and use it in GitHub Desktop.
Save RomanPerekhrest/be710bc0a4b288e024d5bd67286b1c8c to your computer and use it in GitHub Desktop.
test_cycle #jsbench #jsperf (http://jsbench.github.io/#be710bc0a4b288e024d5bd67286b1c8c) #jsbench #jsperf
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>test_cycle #jsbench #jsperf</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>
"use strict";
(function (factory) {
if (typeof Benchmark !== "undefined") {
factory(Benchmark);
} else {
factory(require("benchmark"));
}
})(function (Benchmark) {
var suite = new Benchmark.Suite;
Benchmark.prototype.setup = function () {
function cycle1(num) {
const str1 = 'A', str2 = 'B';
let res = [];
for(let i = 1; res.length < num; i++ ) {
res.push(i % 2 ? str1 : str2);
}
res = res.join('')
console.log(res)
}
function cycle2(num) {
const str1 = 'A', str2 = 'B';
let res = '';
for (let i=1; i <= num; i++) {
res += (i % 2 ? str1 : str2);
}
console.log(res)
}
function alternateLetters(num) {
const a = 'A', b = 'B';
const result = [...Array(num)].map((_, i) => i % 2 ? b : a);
console.log(result.join(''))
}
};
suite.add("cycle1(5)", function () {
cycle1(5)
});
suite.add("cycle2(5)", function () {
cycle2(5)
});
suite.add("alternateLetters(5)", function () {
alternateLetters(5)
});
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("test_cycle #jsbench #jsperf");
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