Влияет ли размер реквизита на характеристики реагирующего компонента? - PullRequest
1 голос
/ 17 апреля 2020

У меня есть родительский компонент, который получает некоторые данные (большой объект) путем маршрутизации (через history.pu sh), теперь я должен отправить эти данные двум дочерним компонентам. Теперь я могу отправить этот большой объект обоим двум дочерним компонентам и выполнить два вычисления (независимо друг от друга) в соответствующих дочерних компонентах, или я могу выполнить два вычисления в родительском компоненте, а затем отправить вычисленные значения дочерним компонентам, что приведет к уменьшению размера реквизит. Дают ли небольшие предметы (размер) преимущества в производительности (независимо от моего текущего сценария)?

Существует ли какая-либо библиотека тестирования для измерения и количественной оценки производительности в обоих сценариях ios, например, быстрый рендеринг, низкий уровень потребление оперативной памяти, эт c.?

1 Ответ

1 голос
/ 17 апреля 2020

Я бы сказал НЕТ ; большой объект, который вы имеете в родительском компоненте, находится где-то в heap (ram javascript, своего рода), и он существует там, занимая область памяти; когда вы передаете его ребенку, вы, вероятно, передаете его ссылку; дочерний компонент будет выполнять вычисления в том же месте в heap, что и родительский компонент;

Если бы это был микросервис, мы могли бы подумать об этом, потому что сервисы не используют общую память и общаются только через передачу сообщений. следовательно, размер сообщения между службами фактически увеличит время вычислений в другой службе, но приложение javascript (т.е. приложение реагирования) представляет собой монолитную архитектуру, для каждой части программы имеется общая память; следовательно, это не имеет смысла; потому что ваше приложение имеет некоторую сложность для выполнения своей работы (включая потребление памяти и времени). поэтому, если этот расчет необходим, не имеет значения, где вы это делаете, у родителей или у детей, это должно быть сделано где-то в конце дня; Вы не хотите повторять одни и те же расчеты, создавая избыточность и тратя ресурсы; Например, если вы должны выполнить 10 необходимый расчет, вы можете сделать это как 10 + 0 или 2 + 8 или 5 + 5. Вы можете разделить его на части, но в конце концов; его всего десять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...