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![]()



Reply With Quote





