Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.08.2020, 22:56
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Shitbox2
ускорить функцию groupBy хотя бы в 1,5 раза
может вовсе не вней проблема, а в объеме передаваемых ей данных
покажите замеры производительности, тесты
Ответить с цитированием
  #12 (permalink)  
Старый 02.08.2020, 00:34
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Сообщение от Nexus
Может тогда лучше Object.values использовать?
Нет смысла. Эта операция не тормозит в отличие от других

Сообщение от Nexus
Сообщение от Shitbox2
Самая тяжелая операция тут - let group = groupsMap[groupValue]
Вот уж вряд ли.
Посмотрите в профайлере :-)

Сообщение от Nexus
Почему вы так считаете? Кол-во итераций уменьшится вдвое, скорость соответственно должна увеличиться.
Если напишете пример, который продемонстрирует прирост производительности, я буду только рад. Очень сомневаюсь, что это что-то даст

Сообщение от Nexus
И в своем коде вы замеряете не только скорость работы вашей функции группировки, но и скорость генерации ваших данных.
Каюсь. Ошибся в тексте задачи, поправил уже. Когда тестил и профилировал замерял только группировку.

Сообщение от MallSerg
Тут с логикой проблема, управление данными осуществляется в приложении алгоритмами собранными топориком на коленке.
Задачи связанные с группировкой, хранением, сортировкой, индексацией и выборкой данных лучше решать с помощью баз данных.
Согласен, но конкретно в данной ситуации это оправдано. Когда-нибудь группировка переползет ближе к БД, конечно.

Сообщение от MallSerg
А строки 50, 67 как раз и есть эти побочные эффекты.
Собственно, да, профайлер эти строки и помечает как самые тяжелые

Сообщение от Alexandroppolus
Попробовать использовать Map вместо объекта.
Пробовал. Или нет разницы или даже медленнее получается

Сообщение от Alexandroppolus
Читерство: суммируемые поля оформить как проперти, можно с мемоизацией.
Тут не очень понял. Можно подробнее?

Сообщение от Vlasenko Fedor
может вовсе не вней проблема, а в объеме передаваемых ей данных
покажите замеры производительности, тесты
Пример достаточно достоверный. В реальности 50000 строк, содержащих разные типы. В одной колонке скорее всего все данные будут одного типа, либо будут отсутствовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему разные браузеры по-разному обрабатывают код? izumov AJAX и COMET 3 05.06.2019 00:54
Сортировка массива с объектами на javascript sergiu920 Элементы интерфейса 2 07.12.2018 09:47
как получить исходный код страницы после ajax lerneree AJAX и COMET 4 28.05.2018 13:53
Как найти и заменить код скрипта на странице на другой код? smls Общие вопросы Javascript 2 18.07.2016 22:01
Требуется выводить код рекламного блока Adsense из файла JavaScript??? speedflow Элементы интерфейса 0 26.05.2012 15:50