Каков разумный размер для объекта JavaScript - PullRequest
2 голосов
/ 17 декабря 2011

У меня есть модель дерева клиентов, в которой будут храниться значения ключа (числа) и значения (строка - средняя длина 60 символов). В своем максимуме дерево может иметь до 2500 узлов. - Это кажется слишком большим объектом для хранения в памяти (около 290 КБ), поэтому я собираюсь загружать узлы по требованию и кэшировать некоторые из них.

У меня вопрос: какой разумный размер объекта в javascript можно хранить в памяти? Я понимаю, что это будет в значительной степени зависеть от того, что еще происходит на странице, но все равно хотел бы услышать мнение хорошего размера для объекта кэша, такого как мое дерево

1 Ответ

0 голосов
/ 19 декабря 2011

Я собираюсь предположить, основываясь на размере данных, которые вы пытаетесь сохранить, что вы используете эти данные для какой-то обработки на стороне клиента. Вы можете отображать его в табличном формате или использовать как часть процесса поиска или сортировки.

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

Оптимальный размер в этом случае варьируется настолько сильно, что я сомневаюсь, что существует какой-либо один объективный ответ. Я полагаю, что ряд браузеров, в особенности мобильные, имеют ограничения по памяти, которые препятствуют нестабильной работе всего устройства из-за перегруженного JavaScript-кода. Это ограничение памяти, вероятно, очень высокое, но его следует рассматривать только как отказоустойчивое, а не допустимый верхний предел памяти, который вы можете использовать.

Я настоятельно рекомендую вам переоценить назначение вашего JavaScript-объекта и посмотреть, можно ли выполнить то же самое на стороне сервера (возможно, по частям, с помощью AJAX, как это требуется). Это уменьшит накладные расходы обработки на стороне клиента, использование полосы пропускания и, как правило, приведет к более стабильному и отзывчивому взаимодействию с пользователем.

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