Почему клонирование тяжелых объектов снижает производительность JS даже при использовании структурированного клона по срJavascript

Форум по Javascript
Ответить
Anonymous
 Почему клонирование тяжелых объектов снижает производительность JS даже при использовании структурированного клона по ср

Сообщение Anonymous »

В высокопроизводительном сервисе Node.js я заметил, что StructuredClone() вызывает неожиданные скачки задержки при клонировании больших вложенных объектов (30–50 КБ каждый). Даже переход на стратегии ручного клонирования не приводит к постоянному повышению производительности.
Пример:
const cloned =structuredClone(largeData);
Профилирование в Chrome DevTools показывает, что много времени тратится на этапы CloneObject и Сериализация/десериализация.
Мои вопросы опытным разработчикам:
  • Почему StructuredClone() иногда работает хуже, чем оптимизированное ручное клонирование для больших иерархических данных?
  • Выделяет ли движок JavaScript (V8) новые скрытые классы для клонированных объектов?
  • Существуют ли рекомендуемые шаблоны для клонирования структур данных «горячего пути» без нагрузки на сборщик мусора?
  • Для больших объектов лучше ли реструктурировать модель данных вместо клонирования?
Ищем ответы, основанные на реальной настройке производительности, а не на объяснениях из учебника.

Подробнее здесь: https://stackoverflow.com/questions/798 ... tructuredc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»