Executando verificação de segurança...
1

Até onde sei, as engines não fazem memoização por default. Geralmente é algo que vc faz à parte, já que a engine em si não tem como garantir que a função é pura (sem efeitos colaterais), pois aí memoização não é indicado.

Tem que ver também o tamanho do array e os valores que ele contém, pode ter influência no resultado (para poucos dados, costuma ter mais distorções que desaparecem em datasets maiores).

É verdade que muitas engines usam alguma forma de JIT que pode fazer inline de funções e acelerar o processo. Mas isso só costuma acontecer se for executado muitas vezes, então se o array for pequeno, o efeito é mínimo ou até mesmo nulo.

Ou seja, meu palpite é que isso não seja a principal causa da diferença. Sugiro testar com o Benchmark.js ou outra lib similar, para ter resultados mais "limpos" que console.time.

Carregando publicação patrocinada...