38 lines
		
	
	
	
		
			713 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			713 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)
 |