Please enable JavaScript.
Coggle requires JavaScript to display documents.
Отладка работающего под нагрузкой кода - Coggle Diagram
Отладка работающего под нагрузкой кода
Оптимизация алгоритмов
Выбор наиболее подходящих алгоритмов и структур данных может значительнос улучшитьпроизводительность
Проверка на существование конкретного объекта быстрее в HashMap, чем в List
Снижение сложности запросов к БД
Индексы
Поиск по индексам
Уменьшение объема выходных данных, минимизация количества запросов
Кэширование
Спринг поддерживает разноообразное кэширование (hashmap, встроенный модуль, redis). Это на порядки быстрее, чем получить откуда-то (сеть/файл/бд)
Асинхронное программирование
Пока основной поток обрабатывает массив, программа может продолжить выполнение и потом обратиться к результатам обработки массива
Параллелизм
Разделение одной большой задачи на несколько малленьких для выполнение на нескольких ядрах
Предварительная выборка
Загрузка данных заранее, в предположении, что они скоро понадобятся
При загрузке UI выбираем диапазон дат, достаточный, чтобы начать работу, в дальнейшем данные можно пополнить
Удаление неиспользуемого кода
Уменьшает время загрузки и работы кода
Уменьшение количества операций в цикле
Переменщение инвариантов за циклы и использование неэффективных итераций
Постоянный рефакторинг и обновление используемых библиотек, следование вектору развития Java