Add lots of benchmark stuff
This commit is contained in:
parent
3ce001a4f6
commit
1e9e43b118
@ -2,45 +2,67 @@ const Benchmark = require('benchmark');
|
|||||||
|
|
||||||
const u = require('../lib');
|
const u = require('../lib');
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
|
const { curry2 } = require('../lib/util/curry');
|
||||||
|
|
||||||
const suite = Benchmark.Suite(); // eslint-disable
|
const suite = Benchmark.Suite(); // eslint-disable
|
||||||
|
|
||||||
const add = (x, y) => x + y;
|
const add = (x, y) => x + y;
|
||||||
const fakeCurryAdd = x => y => x + y;
|
const fakeCurryAdd = x => y => x + y;
|
||||||
const curryAdd = _.curry(add);
|
const curryAdd = _.curry(add);
|
||||||
|
const updeepCurry = curry2(add);
|
||||||
|
// const updeepCurryBig = curry.curryBig(add);
|
||||||
|
|
||||||
const array = [0, 1, 2, 3, 4, 5];
|
const array = [0, 1, 2, 3, 4, 5];
|
||||||
|
// const doUpdate = u(x => x + 1);
|
||||||
|
|
||||||
suite
|
suite
|
||||||
.add('regular function call', () => {
|
.add('updeep curry partial call', () => {
|
||||||
add(3, 4);
|
updeepCurry(3)(4);
|
||||||
})
|
})
|
||||||
.add('fake curry', () => {
|
.add('lodash curry partial call', () => {
|
||||||
fakeCurryAdd(3)(4);
|
curryAdd(3)(4);
|
||||||
})
|
})
|
||||||
.add('curry full call', () => {
|
.add('_.map', () => {
|
||||||
curryAdd(3, 4);
|
_.map(array, fakeCurryAdd(8));
|
||||||
})
|
})
|
||||||
.add('curry partial call', () => {
|
.add('u.map', () => {
|
||||||
curryAdd(3)(4);
|
u.map(fakeCurryAdd(8), array);
|
||||||
})
|
})
|
||||||
.add('_.map', () => {
|
// .add('updeep curry', () => {
|
||||||
_.map(array, curryAdd(8));
|
// u.map(curryAdd(3), array);
|
||||||
})
|
// })
|
||||||
.add('u.map', () => {
|
// .add('updeep big curry', () => {
|
||||||
u.map(curryAdd(8), array);
|
// u.map(curryAdd(3), array);
|
||||||
})
|
// })
|
||||||
.add('_.map no changes', () => {
|
// .add('no curry', () => {
|
||||||
_.map(array, x => x);
|
// u.map(x => x + 1, array);
|
||||||
})
|
// })
|
||||||
.add('u.map no changes', () => {
|
// .add('regular function call', () => {
|
||||||
u.map(x => x, array);
|
// add(3, 4);
|
||||||
})
|
// })
|
||||||
|
// .add('updeep full curry', () => {
|
||||||
|
// updeepCurry(3, 4);
|
||||||
|
// })
|
||||||
|
// .add('updeep big full curry', () => {
|
||||||
|
// updeepCurryBig(3, 4);
|
||||||
|
// })
|
||||||
|
// .add('curry full call', () => {
|
||||||
|
// curryAdd(3, 4);
|
||||||
|
// })
|
||||||
|
// .add('fake curry', () => {
|
||||||
|
// fakeCurryAdd(3)(4);
|
||||||
|
// })
|
||||||
|
// .add('_.map no changes', () => {
|
||||||
|
// _.map(array, x => x);
|
||||||
|
// })
|
||||||
|
// .add('u.map no changes', () => {
|
||||||
|
// u.map(x => x, array);
|
||||||
|
// })
|
||||||
|
|
||||||
.on('cycle', (event) => {
|
.on('cycle', (event) => {
|
||||||
if (typeof document !== 'undefined') {
|
if (typeof document !== 'undefined') {
|
||||||
const el = document.getElementById('perf');
|
const el = document.getElementById('perf');
|
||||||
el.innerHTML = el.innerHTML + String(event.target) + '<br>';
|
el.innerHTML = el.innerHTML + String(event.target) + '<br>';
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.run({ async: true });
|
.run({ async: true });
|
||||||
|
Loading…
Reference in New Issue
Block a user