http://mrale.ph/blog/2014/02/23/the-black-cat-of-microbenchm...
http://mrale.ph/blog/2012/12/15/microbenchmarks-fairy-tale.h...
Checking the tests here, the "default parameters" section shows some tests being 2000x faster than others, which sounds suspicious. Here's an es5 test case:
function fn(arg, other) {
arg = arg === undefined ? 1 : arg;
other = other === undefined ? 3 : other;
return other;
}
test(function() {
fn();
fn(2);
fn(2, 4);
});
Sure enough, an arbitrarily smart VM could compile that code down to `test();`. How much this and other optimizations affect each test is anyone's guess, but I think it's likely that at least some of these results are dominated by coincidental features of how the tests are written.