let _ = require( 'wTools' );
let times = 10;
let size = 50000000;
let array = new U8x( size );
var result;
var counter = 0;
var time = _.time.now();
for( let i = times ; i > 0; i-- )
result = forLoop( array, () => counter += 1 );
console.log( `For loop took ${_.time.spent( time )} on Njs ${process.version}` );
console.info( `Output ${counter} to avoid unwanted optimization` );
var counter = 0;
var time = _.time.now();
for( let i = times ; i > 0; i-- )
result = forEach( array, () => counter += 1 );
console.log( `For each took ${_.time.spent( time )} on Njs ${process.version}` );
console.info( `Output ${counter} to avoid unwanted optimization` );
function forLoop( src, onEach )
{
for( let k = 0 ; k < src.length ; k++ )
onEach( src[ k ], k, src );
return src
}
function forEach( src, onEach )
{
src.forEach( ( e, k, src ) => onEach( e, k, src ) );
return src;
}