Как влияет на производительность подписка на несколько наблюдаемых Rx JS в течение всего сеанса моего приложения Angular? - PullRequest
1 голос
/ 09 апреля 2020

Я работаю над приложением Angular, в котором мы хотим отслеживать некоторые события действия, чтобы составлять отчеты.

Одна из целей состоит в том, чтобы поддерживать компоненты logi c как можно более чистыми и уменьшают влияние на производительность отслеживания как мю sh, насколько это возможно.

Один из способов, который мы можем выбрать для реализации этого эффекта из эффектов ngrx, - объявить определенные c наблюдаемые наблюдающие (с Rx JS, по одному на каждое действие), объединить их и подписаться на объединенную наблюдаемую при запуске приложения (поддерживая ее в течение всего сеанса). Каждый трекер фильтрует по указанному c событию действия.
Этот способ позволяет нам отправлять события действия по предмету в наших компонентах, которые обрабатываются трекерами асинхронно вне потока приложения.

Сегодня у нас есть около 30 событий (так что 30 наблюдаемых для слияния), но, может быть, однажды будут сотни (сотни наблюдаемых для слияния).

Какое влияние на производительность дает наличие этих Rx? JS observables?
Уменьшает ли влияние их объединение и наличие только одной подписки?


РЕДАКТИРОВАТЬ 1: практический тест показал, что слияние и единая подписка не имеют заметных различий

1 Ответ

0 голосов
/ 13 апреля 2020

На самом деле нет никакой разницы, если вы используете слияние, чтобы подписаться на все из них или подписаться на каждый из них самостоятельно. Единственная разница здесь в том, что вы разделяете общее поведение, такое как ошибки и полные сигналы.

...