39 lines
734 B
JavaScript
39 lines
734 B
JavaScript
'use strict';
|
|
|
|
var reusify = require('../');
|
|
var fib = require('./fib');
|
|
var instance = reusify(MyObject);
|
|
var max = 100000000;
|
|
var start = Date.now();
|
|
|
|
function reuseNoCodeFunction() {
|
|
var obj = instance.get();
|
|
obj.num = 100;
|
|
obj.func();
|
|
obj.num = 0;
|
|
instance.release(obj);
|
|
}
|
|
|
|
function MyObject() {
|
|
this.next = null;
|
|
var that = this;
|
|
this.num = 0;
|
|
this.func = function () {
|
|
/* eslint no-constant-condition: "off" */
|
|
if (null) {
|
|
// do nothing
|
|
} else {
|
|
fib(that.num);
|
|
}
|
|
};
|
|
}
|
|
|
|
for (var i = 0; i < max; i++) {
|
|
reuseNoCodeFunction();
|
|
}
|
|
|
|
var time = Date.now() - start;
|
|
console.log('Total time', time);
|
|
console.log('Total iterations', max);
|
|
console.log('Iteration/s', (max / time) * 1000);
|