Реактивная система — это не магия, а граф инвариантов: тронул одно состояние, рантайм пересчитал все зависимые узлы. Проблема начинается, когда этот data-flow расползается в стороны и цепляет лишнее.
Как это выглядит на практике:
- одно изменение вызывает каскад ненужных апдейтов;
- зависимости пересчитываются повторно;
- UI «дёргается», а CPU ест лишнее.
Оптимизация тут обычно сводится к двум вещам:
1) Делать поток данных прямее
Меньше промежуточных состояний, меньше ветвлений, меньше «прослоек» между источником и потребителем.
2) Уменьшать область пересчёта
Не хранить в графе то, что можно вычислить локально. Чем уже зона влияния, тем дешевле реакция системы.
Практический вывод: если реактивщина начала тормозить, смотрите не на «скорость фреймворка», а на форму графа. Часто выигрыш даёт не микрооптимизация, а выпрямление зависимостей и вынос лишних узлов. ⚙️
DevTools Radar
@DevToolsRadarPro
Реактивная система — это не магия, а граф инвариантов: тронул одно состояние, рантайм пересчитал все зависимые
Этот пост опубликован в Telegram-канале DevTools Radar. Подписаться можно по ссылке: @DevToolsRadarPro.