Sem saber o que meuFilter
faz, é difícil analisar com precisão, mas enfim...
Usar console.time
pode mascarar alguns detalhes, como já informei neste teste que fiz. Sugiro que leia, mas pra resumir:
Existem várias coisas que acontecem antes do seu código começar a efetivamente rodar. Tem a inicialização do runtime, warmup do JIT, sabe-se lá mais o que o Node.js (ou seja lá qual for a engine que vc está usando) deve fazer na carga inicial.
Por isso o primeiro a rodar geralmente fica mais lento. Eu sugiro usar alguma lib específica que elimina esses fatores da medição, como o próprio Benchmark.js que vc mencionou. Tem exemplos dele aqui e aqui.
Gostei da resposta. Deu pra dar uma clearada grande.
Foi erro meu na hora de passar o código pro tabnews, acabei esquecendo de incluir o meuFilter, mas não tem segredo, é uma implementação bem básica:
Array.prototype.meuFilter = function (callback) {
const novoArray = [];
for (let item of this) {
if (callback(item, this)) novoArray.push(item);
}
return novoArray;
};
Obrigado pela resposta.