| '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) |