refactor(es6): benchmark directory
This commit is contained in:
parent
8988dc8fed
commit
9a185e9d34
|
@ -1,11 +1,11 @@
|
|||
var path = require("path");
|
||||
var fs = require("fs");
|
||||
var Benchmark = require("benchmark");
|
||||
var webpack = require("../");
|
||||
var fixtures = path.join(__dirname, "fixtures");
|
||||
var outputPath = path.join(__dirname, "js");
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const Benchmark = require("benchmark");
|
||||
const webpack = require("../");
|
||||
const fixtures = path.join(__dirname, "fixtures");
|
||||
const outputPath = path.join(__dirname, "js");
|
||||
|
||||
var benchmarkOptions = {
|
||||
const benchmarkOptions = {
|
||||
defer: true,
|
||||
onCycle: function() {
|
||||
process.stderr.write(".");
|
||||
|
@ -15,7 +15,7 @@ var benchmarkOptions = {
|
|||
|
||||
function runTimes(compiler, times, deferred) {
|
||||
fs.writeFileSync(path.join(fixtures, "0.js"), "module.exports = " + Math.random(), "utf-8");
|
||||
compiler.run(function(err, stats) {
|
||||
compiler.run((err, stats) => {
|
||||
if(err) throw err;
|
||||
if(times === 1)
|
||||
deferred.resolve();
|
||||
|
@ -24,10 +24,10 @@ function runTimes(compiler, times, deferred) {
|
|||
});
|
||||
}
|
||||
|
||||
var tests = {
|
||||
const tests = {
|
||||
"normal build": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
webpack({
|
||||
context: fixtures,
|
||||
entry: "./" + size + ".js",
|
||||
|
@ -35,7 +35,7 @@ var tests = {
|
|||
path: outputPath,
|
||||
filename: "bundle.js"
|
||||
}
|
||||
}, function(err, stats) {
|
||||
}, (err, stats) => {
|
||||
if(err) throw err;
|
||||
deferred.resolve();
|
||||
});
|
||||
|
@ -43,7 +43,7 @@ var tests = {
|
|||
],
|
||||
"eval dev build": [
|
||||
[0, 1, 2, 5, 10, 15],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
webpack({
|
||||
context: fixtures,
|
||||
entry: "./" + size + ".big.js",
|
||||
|
@ -52,7 +52,7 @@ var tests = {
|
|||
filename: "bundle.js"
|
||||
},
|
||||
devtool: "eval"
|
||||
}, function(err, stats) {
|
||||
}, (err, stats) => {
|
||||
if(err) throw err;
|
||||
deferred.resolve();
|
||||
})
|
||||
|
@ -60,7 +60,7 @@ var tests = {
|
|||
],
|
||||
"sourcemap build": [
|
||||
[0, 1, 2, 5, 10, 15],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
webpack({
|
||||
context: fixtures,
|
||||
entry: "./" + size + ".big.js",
|
||||
|
@ -69,7 +69,7 @@ var tests = {
|
|||
filename: "bundle.js"
|
||||
},
|
||||
devtool: "source-map"
|
||||
}, function(err, stats) {
|
||||
}, (err, stats) => {
|
||||
if(err) throw err;
|
||||
deferred.resolve();
|
||||
})
|
||||
|
@ -77,7 +77,7 @@ var tests = {
|
|||
],
|
||||
"cheap sourcemap build": [
|
||||
[0, 1, 2, 5, 10, 15],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
webpack({
|
||||
context: fixtures,
|
||||
entry: "./" + size + ".big.js",
|
||||
|
@ -94,7 +94,7 @@ var tests = {
|
|||
],
|
||||
"build w/ chunks": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
webpack({
|
||||
context: fixtures,
|
||||
entry: "./" + size + ".async.js",
|
||||
|
@ -110,7 +110,7 @@ var tests = {
|
|||
],
|
||||
"build w/ chunks": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
webpack({
|
||||
context: fixtures,
|
||||
entry: "./" + size + ".async.js",
|
||||
|
@ -126,7 +126,7 @@ var tests = {
|
|||
],
|
||||
"incremental": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
var compiler = webpack({
|
||||
cache: true,
|
||||
context: fixtures,
|
||||
|
@ -141,7 +141,7 @@ var tests = {
|
|||
],
|
||||
"incremental cheap sourcemap": [
|
||||
[1, 2, 3, 4, 5, 6],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
var compiler = webpack({
|
||||
cache: true,
|
||||
context: fixtures,
|
||||
|
@ -157,7 +157,7 @@ var tests = {
|
|||
],
|
||||
"incremental2": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
var compiler = webpack({
|
||||
cache: true,
|
||||
context: fixtures,
|
||||
|
@ -172,7 +172,7 @@ var tests = {
|
|||
],
|
||||
"incremental4": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
var compiler = webpack({
|
||||
cache: true,
|
||||
context: fixtures,
|
||||
|
@ -187,7 +187,7 @@ var tests = {
|
|||
],
|
||||
"incremental16": [
|
||||
[0, 1, 5, 10, 50, 100, 200],
|
||||
function(size, deferred) {
|
||||
(size, deferred) => {
|
||||
var compiler = webpack({
|
||||
cache: true,
|
||||
context: fixtures,
|
||||
|
@ -202,24 +202,21 @@ var tests = {
|
|||
],
|
||||
};
|
||||
|
||||
var suite = new Benchmark.Suite;
|
||||
const suite = new Benchmark.Suite;
|
||||
|
||||
Object.keys(tests).filter(function(name) {
|
||||
if(process.argv.length > 2)
|
||||
return name.indexOf(process.argv[2]) >= 0;
|
||||
return true;
|
||||
}).forEach(function(name) {
|
||||
var test = tests[name];
|
||||
test[0].forEach(function(size) {
|
||||
suite.add(name + " " + size, function(deferred) {
|
||||
test[1](size, deferred);
|
||||
}, benchmarkOptions);
|
||||
Object.keys(tests).filter((name) => (process.argv.length > 2) ? name.indexOf(process.argv[2]) >= 0 : true)
|
||||
.forEach((name) => {
|
||||
const test = tests[name];
|
||||
test[0].forEach((size) => {
|
||||
suite.add(name + " " + size, (deferred) => {
|
||||
test[1](size, deferred);
|
||||
}, benchmarkOptions);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
suite.on("cycle", function(event) {
|
||||
suite.on("cycle", (event) => {
|
||||
process.stderr.write("\n");
|
||||
var b = event.target;
|
||||
const b = event.target;
|
||||
console.log(b.name + "\t" + Math.floor(1000 * (b.stats.mean - b.stats.moe)) + "\t" + Math.floor(1000 * (b.stats.mean + b.stats.moe)));
|
||||
});
|
||||
|
||||
|
|
|
@ -17,6 +17,6 @@ webpack({
|
|||
new webpack.IgnorePlugin(/^(fsevents|uglify-js)$/),
|
||||
new webpack.NormalModuleReplacementPlugin(/^.\/loadLoader$/, path.resolve(__dirname, "./createBenchmark/loadLoader"))
|
||||
]
|
||||
}, function(err, stats) {
|
||||
}, (err, stats) => {
|
||||
console.log(stats.toString());
|
||||
});
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
module.exports = (loader, callback) => {
|
||||
module.exports = (loader, callback) => {
|
||||
callback(new Error("Loaders are not supported"));
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
var path = require("path");
|
||||
var fs = require("fs");
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
|
||||
var fixtures = path.join(__dirname, "fixtures");
|
||||
const fixtures = path.join(__dirname, "fixtures");
|
||||
|
||||
try {
|
||||
fs.mkdirSync(fixtures);
|
||||
} catch(e) {}
|
||||
|
||||
for(var i = 0; i < 10000; i++) {
|
||||
var source = [];
|
||||
for(let i = 0; i < 10000; i++) {
|
||||
const source = [];
|
||||
if(i > 8)
|
||||
source.push("require(" + JSON.stringify("./" + (i / 8 | 0) + ".js") + ");");
|
||||
if(i > 4)
|
||||
|
@ -21,8 +21,8 @@ for(var i = 0; i < 10000; i++) {
|
|||
fs.writeFileSync(path.join(fixtures, i + ".js"), source.join("\n"), "utf-8");
|
||||
}
|
||||
|
||||
for(var i = 0; i < 10000; i++) {
|
||||
var source = [];
|
||||
for(let i = 0; i < 10000; i++) {
|
||||
const source = [];
|
||||
source.push("require.ensure([], function(require) {");
|
||||
if(i > 8)
|
||||
source.push("require(" + JSON.stringify("./" + (i / 8 | 0) + ".async.js") + ");");
|
||||
|
@ -37,8 +37,8 @@ for(var i = 0; i < 10000; i++) {
|
|||
fs.writeFileSync(path.join(fixtures, i + ".async.js"), source.join("\n"), "utf-8");
|
||||
}
|
||||
|
||||
for(var i = 0; i < 100; i++) {
|
||||
var source = [];
|
||||
for(let i = 0; i < 100; i++) {
|
||||
const source = [];
|
||||
if(i > 8)
|
||||
source.push("require(" + JSON.stringify("./" + (i / 8 | 0) + ".big.js") + ");");
|
||||
if(i > 4)
|
||||
|
@ -47,7 +47,7 @@ for(var i = 0; i < 100; i++) {
|
|||
source.push("require(" + JSON.stringify("./" + (i / 2 | 0) + ".big.js") + ");");
|
||||
if(i > 0)
|
||||
source.push("require(" + JSON.stringify("./" + (i - 1) + ".big.js") + ");");
|
||||
for(var j = 0; j < 300; j++)
|
||||
for(let j = 0; j < 300; j++)
|
||||
source.push("if(Math.random())hello.world();test.a.b.c.d();x(1,2,3,4);var a,b,c,d,e,f;");
|
||||
source.push("module.exports = " + i + ";");
|
||||
fs.writeFileSync(path.join(fixtures, i + ".big.js"), source.join("\n"), "utf-8");
|
||||
|
|
|
@ -1,25 +1,26 @@
|
|||
var path = require("path");
|
||||
var fs = require("fs");
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
|
||||
var fixtures = path.join(__dirname, "fixtures");
|
||||
const fixtures = path.join(__dirname, "fixtures");
|
||||
|
||||
try {
|
||||
fs.mkdirSync(fixtures);
|
||||
} catch(e) {}
|
||||
|
||||
function genModule(prefix, depth, asyncDepth, multiplex, r, circular) {
|
||||
var source = [];
|
||||
var isAsync = depth >= asyncDepth;
|
||||
const source = [];
|
||||
const isAsync = depth >= asyncDepth;
|
||||
if(!isAsync)
|
||||
circular.push(path.resolve(fixtures, prefix + "/index.js"));
|
||||
source.push("(function() {");
|
||||
var m = (r % multiplex) + 1;
|
||||
var sum = 1;
|
||||
const m = (r % multiplex) + 1;
|
||||
let sum = 1;
|
||||
let item;
|
||||
try {
|
||||
fs.mkdirSync(path.resolve(fixtures, prefix));
|
||||
} catch(e) {}
|
||||
if(depth > 0) {
|
||||
for(var i = 0; i < m; i++) {
|
||||
for(let i = 0; i < m; i++) {
|
||||
sum += genModule(prefix + "/" + i, depth - 1, asyncDepth, multiplex, (r + i + depth) * m + i + depth, circular);
|
||||
source.push("require(" + JSON.stringify("./" + i) + ");");
|
||||
if(i === 0) {
|
||||
|
@ -27,7 +28,7 @@ function genModule(prefix, depth, asyncDepth, multiplex, r, circular) {
|
|||
source.push("}); require.ensure([], function() {");
|
||||
}
|
||||
}
|
||||
var item = circular[r % circular.length];
|
||||
item = circular[r % circular.length];
|
||||
}
|
||||
source.push("}, " + JSON.stringify(prefix) + ");");
|
||||
if(item)
|
||||
|
@ -37,20 +38,20 @@ function genModule(prefix, depth, asyncDepth, multiplex, r, circular) {
|
|||
return sum;
|
||||
}
|
||||
|
||||
for(var i = 2; i < 14; i++) {
|
||||
var count = genModule("tree-" + i, 6, 100, i, 0, []);
|
||||
for(let i = 2; i < 14; i++) {
|
||||
const count = genModule("tree-" + i, 6, 100, i, 0, []);
|
||||
console.log("generated tree", i, count);
|
||||
}
|
||||
|
||||
for(i = 2; i < 14; i++) {
|
||||
count = genModule("async-tree-" + i, 6, 1, i, 0, []);
|
||||
for(let i = 2; i < 14; i++) {
|
||||
const count = genModule("async-tree-" + i, 6, 1, i, 0, []);
|
||||
console.log("generated async tree", i, count);
|
||||
}
|
||||
|
||||
var a = genModule("module-async", 7, 1, 3, 2, []);
|
||||
const a = genModule("module-async", 7, 1, 3, 2, []);
|
||||
|
||||
var b = genModule("module-big-async", 5, 2, 9, 2, []);
|
||||
const b = genModule("module-big-async", 5, 2, 9, 2, []);
|
||||
|
||||
var c = genModule("module-broad-async", 3, 3, 20, 10, []);
|
||||
const c = genModule("module-broad-async", 3, 3, 20, 10, []);
|
||||
|
||||
console.log("generated modules", a, b, c);
|
||||
|
|
|
@ -32,7 +32,7 @@ function e() {}
|
|||
function f() {}
|
||||
`
|
||||
|
||||
for(var i = 0; i < 2; i++) {
|
||||
for(let i = 0; i < 2; i++) {
|
||||
avgJs += `(function() {${avgJs}}());`;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue