Задать вопрос
zkrvndm
@zkrvndm
Архитектор решений

Сколько данных вмещается в переменную?

Можно ли на JavaScript запихнуть в переменную гигабайт данных? 10 гигабайтов или даже 100?

Вопрос интересен с точки зрения того, на сколько сильно я могу раздувать объект, лежащей в некоторой переменной, новыми свойствами.
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@GrayHorse
2 гигабайта без двух мегабайт.

new Blob([new ArrayBuffer(2*1024**3)]); // Uncaught RangeError: Array buffer allocation failed

new Blob([new ArrayBuffer(2*1024**3 - 2*1024**2)]); // OK


Чтобы сработал сборщик мусора, достаточно очистить консоль, если что.

Браузер, кстати, не будет держать этот объект в памяти, а запишет на диск (в blob_storage/). Что легко палится по 100 % нагрузке на диск после выполнения команды и последующему уменьшению количества используемой оперативной памяти.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
До исчерпания доступной памяти.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы