This is weird. At least with node.js v4, consider the following two programs:
Program #1 :
Program #2 :Code:'use strict';
function f(x, y) {
/*
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum sem. Quisque ligula eros ullamcorper
quis, lacinia quis facilisis sed sapien. Mauris varius diam vitae arcu. Sed arcu lectus auctor vitae, consectetuer et
venenatis eget velit. Sed augue orci, lacinia eu tincidunt et eleifend nec lacus. Donec ultricies nisl ut felis,
suspendisse potenti. Lorem ipsum ligula ut hendrerit mollis, ipsum erat vehicula risus, eu suscipit sem libero nec
erat. Aliquam volutpat. Sed congue augue vitae neque. Nulla consectetuer pede. Fusce purus morbi tortor magna
condimentum vel, placerat id blandit sit amet tortor.
*/
return (x + y);
}
for (let i = 0; i < 1000000000; i++) {
if (f(i, i++) < 5) {
//
}
}
Now when ran and timed, here's the results for program #1 :Code:'use strict';
function f(x, y) {
/*
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum sem. Quisque ligula eros ullamcorper
quis, lacinia quis facilisis sed sapien. Mauris varius diam vitae arcu. Sed arcu lectus auctor vitae, consectetuer et
venenatis eget velit. Sed augue orci, lacinia eu tincidunt et eleifend nec lacus. Donec ultricies nisl ut felis,
erat. Aliquam volutpat. Sed congue augue vitae neque. Nulla consectetuer pede. Fusce purus morbi tortor magna
condimentum vel, placerat id blandit sit amet tortor.
*/
return (x + y);
}
for (let i = 0; i < 1000000000; i++) {
if (f(i, i++) < 5) {
//
}
}
and program #2 :Code:real 0m4.795s
user 0m4.732s
sys 0m0.012s
Can you spot the difference and why the second program is twice as fast as the first one? :)Code:real 0m1.999s
user 0m1.969s
sys 0m0.016s

