#куча — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #куча, aggregated by home.social.
-
[Перевод] Иллюстрированный разбор одной пользовательской реализации malloc()
Программисты, работающие с языком C, несомненно, узнают стандартную функцию malloc() . Это главный аллокатор памяти в языке, который тесно связан со всем известными ошибками сегментирования. Функция malloc() – именно то средство, при помощи которого программы приобретают память во время выполнения. Зачастую она также превращается в основной инструмент создания объектов и управления ими. Учитывая такой центральный статус malloc() , удивлён, что большинство программистов обращаются с ней как с чёрным ящиком. Этот пост призван немного исправить ситуацию, и в нём рассказано, что именно происходит под капотом. Также рассмотрим одну из возможных реализаций этой функции.
-
[Перевод] Структуры данных на практике. Глава 12: Кучи и очереди с приоритетом
«Плохие программисты беспокоятся о коде. Хорошие программисты беспокоятся о структурах данных и их взаимосвязях», — Линус Торвальдс Споры о планировщике Наша команда вела спор о структурах данных. Нам нужен был планировщик задач операционной системы реального времени, способный: Вставлять новые задачи с приоритетом (O(log n)) Запрашивать задачу с наибольшим приоритетом (O(1)) Удалять задачу с наибольшим приоритетом (O(log n)) Кто-то предложил: «Давайте используем отсортированный массив». Но вставка будет занимать O(n) — придётся сдвигать элементы. Кто-то ещё сказал: «Возьмём связанный список». Однако поиск наибольшего выполняется за O(n) — необходимо сканировать весь список. Третий вспомнил о двоичном дереве поиска. Но из Главы 9 мы уже знаем, что BST ужасно ведут себя с кэшем. Споры продолжались, пока кто-то не упомянул двоичные кучи. Покончить с разногласиями позволили результаты бенчмарка
-
[Перевод] Выделение памяти в Go
Эта статья посвящена языку программирования Go 1.24 , работающему на Linux на архитектуре ARM . Она может не охватывать специфические для других операционных систем (ОС) или аппаратных архитектур детали.
https://habr.com/ru/companies/timeweb/articles/1000232/
#go #golang #memory_management #memory_allocation #stack #heap #timeweb_статьи_перевод #выделение_памяти #стек #куча
-
Angular и память: как не создавать утечки
Фронтенд-разработка в последние годы стала сложнее. Одностраничные приложения живут часами, пользователи открывают вкладки и оставляют их работать, данные приходят с серверов постоянно. В этом хаосе часто кажется, что главное — чтобы компонент рендерился, а Observable выдавал данные. Но даже в самом аккуратном коде могут появляться утечки памяти. Утечка памяти возникает, когда объекты, которые больше не нужны, остаются в памяти, потому что на них ещё есть ссылки. Для браузера они живы, сборщик мусора их не трогает. Для Angular‑разработчика это важно, потому что:
https://habr.com/ru/articles/949256/
#утечка_памяти #angular #отписки #память #стэк #куча #heap #stack #ангуляр
-
Куча таймеров в node.js
А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.
https://habr.com/ru/articles/830644/
#javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры