Mishka_Sev
@Mishka_Sev

Как следить за памятью самостоятельно?

В языках по типу JavaScript используются сборщики мусора.
Но, что если программист сам хочет принимать решения, и следить за памятью, самостоятельно определяя когда значение будет достижимо а когда нет, вручную выгружая из памяти ненужное.
Если такое возможно, то как это называется, подход, парадигма, и т.п.?
  • Вопрос задан
  • 259 просмотров
Решения вопроса 2
Robur
@Robur
Знаю больше чем это необходимо
в JS - никак. Вы можете разве что делать разные оптимизации поверх сборщика мусора - пул объектов, переиспользовать массивы, не создавать функции на каждый чих и так далее. Но большой вопрос - зачем это вам.
Если у вас не реалтаймовое приложение с большим количеством данных - убедитесь что нет утечек памяти и успокойтесь :)

Если просто душа просит другого - то вам нажен другой язык. И соответственно это будет не веб (разве что через WASI но это не точно)

Но, что если программист сам хочет принимать решения, и следить за памятью

Такого программиста надо отправить в хардкорную embedded разработку и он будет там счастлив, считая байты и подчищая регистры. А если будет оттуда выбираться и пытаться следить за памятью самостоятельно там где есть проверенные встроенные механизмы (GC, ARC и прочее) надо отбирать клавиатуру.
Ответ написан
@none7
Над этим задумывались игроделы, потому, что GC периодически фризит процесс. И единственный способ этого избежать, не терять ссылки на объекты. Естественно все используемые объекты при этом должны переиспользоваться и нужно писать свой аллокатор, который повторно использует объекты не меняя имён и типов в них. И естественно, что стандартный контруктор не может быть использован для их повторной инициализации. С массивами чисел всё довольно просто, просто берём код malloc из emscripten и получаем начальный индекс в глобальном массиве и функциям передаём длину отрезка как в Си. С массивами объектов сложнее, ведь важно, чтобы оптимизатор, заранее знал тип объекта в массиве.
Как это называется? Мазохизм!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы