saimon108
@saimon108
Frontend, Gamer, Bookworm

Почему array.filter() в firefox выдает очень странные данные при тестах(es5 синтаксис) filter vs for loop?

В работе возникла ситуация выбора между использованием array.filter() или for loop.
Т.к. вызывать данный код нужно часто задумался над производительсностью, решил написать тесты для es5 и es6 :
https://jsperf.com/filter-vs-for-loop-s108-es5
https://jsperf.com/filter-vs-for-loop-s108-es6
В хроме в обоих случах форлуп быстрее в 2-6 раз, в ie11 фор луп быстрее на ~20%.
В общем ожидаемо.
Но вот firefox :
Для версии es6 он срабатывает почти так же медленно как ie11 и форлуп так же немного лидирует.
Но вот в es5 версии фильтр быстрее в ~9 раз(925,055 vs 75,958 Ops/sec).

На всякий случай - firefox на linux debian, версия 60.4.0esr(64-bit)

Я немогу этого понять, подскажите кто нибудь - может я ошибся в коде бенчмарка? Или по какой причине такие неясные результаты тестов?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
potapchino
@potapchino
var filteredArrayByFilter = someArray.filter(function(arItem){
    arItem.status === true
})
почему callback ничего не возвращает?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы