выбирает данные. Осталось только понять насколько быстро она это делает. Я написал небольшое тест скорости работы с perfomance.now для немного большей точности. И получил такие значения(1- кол-во элементов, 2-е время выполнения ms):
100=1,5-2; 1 000= 10-15; 10 000=90-110; 100 000= 900-1100; 1 000 000 = 9 000- 11 000;
Вроде бы рост примерно похож, на линейный. Особенных оптимизаций тут пока нет. Так вот насколько это адекватное скорость работы?
https://github.com/sl1ked/declarative-filtered-data , там достаточно много мест где можно сделать быстрее. Единственное теста на скорость там нет( лежит в локальной ветке). Просто насколько я помню оптимизировать стоит только узкие места, а как понять в данном случае станет ли оно узким местом мне не понятно.
Для того, что бы найти узкие места, вам могут пригодится flame graphs.
Можете посмотреть на этот модуль, к примеру. https://www.npmjs.com/package/0x/v/3.3.0-rc3
Обсуждают сегодня