Add lots of benchmark stuff

This commit is contained in:
Aaron Jensen 2015-08-11 23:55:15 -07:00
parent 3ce001a4f6
commit 1e9e43b118

View File

@ -2,40 +2,62 @@ 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);
})
.add('curry full call', () => {
curryAdd(3, 4);
})
.add('curry partial call', () => {
curryAdd(3)(4); curryAdd(3)(4);
}) })
.add('_.map', () => { .add('_.map', () => {
_.map(array, curryAdd(8)); _.map(array, fakeCurryAdd(8));
}) })
.add('u.map', () => { .add('u.map', () => {
u.map(curryAdd(8), array); u.map(fakeCurryAdd(8), array);
})
.add('_.map no changes', () => {
_.map(array, x => x);
})
.add('u.map no changes', () => {
u.map(x => x, array);
}) })
// .add('updeep curry', () => {
// u.map(curryAdd(3), array);
// })
// .add('updeep big curry', () => {
// u.map(curryAdd(3), array);
// })
// .add('no curry', () => {
// u.map(x => x + 1, array);
// })
// .add('regular function call', () => {
// 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') {