Рубрика «garbage collector»
Как сократить время ответа в 2 раза, добавив одну строку кода
2024-10-30 в 9:01, admin, рубрики: flask, garbage collector, latency, Okko, perfomance, pythonТри способа оптимизировать работу с памятью на Go с помощью memory pools
2024-09-11 в 10:03, admin, рубрики: channel pool, garbage collector, Go, memory arena, memory pool, sync.Pool, бенчмарки, оптимизация памятиПривет! Меня зовут Александр Иванов, я разрабатываю средства управления сетевыми элементами сотовой связи и пишу на языке Go в YADRO. Однажды я работал над приложением, которое испытывало пиковые нагрузки каждые 10 минут, но выполнить обработку памяти быстро мешал Garbage Collector. Чтобы решить эту проблему, я изучил несколько способов реализации memory pool и провел испытания скорости работы.
Утечки памяти, которые не утечки
2024-01-31 в 7:10, admin, рубрики: garbage collector, JS, Node, V8, утечкиСтатью я захотел написать после работы над одним конкретным багом, который со всех точек зрения напоминал классическую утечку памяти, но на практике оказался чем то совершенно другим. Я нигде не встречал описание такого поведения и поэтому решил этой информацией поделиться.
В один прекрасный день боевое сопровождение приходит с ужасной проблемой — память в контейнерах Node.js течет, сервисы падают с OOM каждый день, все пропало!
Управление временем жизни объектов: почему это важно и почему для этого пришлось создать новый язык «Аргентум»
2023-07-23 в 12:47, admin, рубрики: garbage collector, memory safety, programming language, Компиляторы, Программирование, сборщик мусора, язык программированияВ основе любого современного языка программирования лежит какая-то ссылочная модель, описывающая структуры данных которыми будут оперировать приложения. Она определяет как объекты ссылаются друг на друга, в какой момент объект можно удалить, когда и как объект можно изменять.
Status Quo
Большинство современных языков программирования строятся на одной из трех ссылочных моделей:
Первая категория это языки с ручным управлением временем жизни объектов. Примеры — C/C++/Zig. В этих языках объекты аллоцируются и освобождаются вручную, а указатель — это просто адрес памяти, никого ни к чему не обязывающий.
Управление памятью в PHP. Сборка мусора, слабые ссылки и прочая челядь
2023-07-22 в 12:56, admin, рубрики: Garbage collection, garbage collector, php, Программирование, сборка мусора, сборщик мусора, Серверная оптимизацияСодержание
-
Введенние.
-
Zval.
-
Циклические ссылки.
-
Сборщик мусора.
-
Алгоритм работы сборщика мусора.
-
Смотрим глазами.
-
Слабые ссылки.
-
Бонус-трэк: WeakMap.
-
Заключение.
Введенние
В PHP память для всех наших переменных выделяется динамическиЧитать полностью »
Сказка про Method as Parameter
2023-03-13 в 6:11, admin, рубрики: .net, C#, dotnet core, garbage collector, method, optimization, Блог компании КонтурПривет. Меня зовут Саша Денисов, я инженер в Контуре.
Я веду блог во внутренних ресурсах компании и хочу поделиться им с вами. Это серия преимущественно развлекательных статей на инженерные темы, которые не претендуют на научность и полноту знаний в них. Каждая следующая статья зарождается в моменте, когда при решении очередной рабочей задачи в Контуре я (или мои близкие коллеги) сталкиваюсь с чем-то, что вдохновляет меня.
Дюк, вынеси мусор! — 5. Epsilon GC
2022-08-05 в 18:35, admin, рубрики: epsilon gc, garbage collector, gc, java, jvmСборщики мусора из OpenJDK, которые мы успели рассмотреть к этому моменту (Serial и Parallel, CMS и G1, ZGCЧитать полностью »
Оптимизируем память Rails сервиса (реальный кейс)
2020-03-30 в 16:37, admin, рубрики: garbage collector, ruby, ruby on rails, оптимизация, оптимизация кода, оптимизация программ, память процессаCLRium #5 Garbage Collector: полное погружение в омут памяти
2019-04-10 в 15:54, admin, рубрики: .net, C#, clrium, garbage collector, Блог компании CLRium #5, Программирование, системное программирование13 апреля в Санкт-Петербурге (оффлайн и онлайн) и 20 апреля — в Москве (только оффлайн) пройдет самый крупный семинар CLRium#5 за всё время его существования. До Sold-Out Питера осталось всего лишь 30 мест! А видеозаписи получат владельцы всех типов билетов.
Прокопав дебри алгоритмов управления памятью я теперь могу, наконец, ответить на извечный вопрос: "а зачем это знать?". Раньше кроме как just for fun до этого момета мне сложно было что-то ответить по одной простой причине: по-хорошему мы ничего не знали о том, как работает память в .NET. Мы знали что есть GC, что есть в целях оптимизации три поколения. Кто-то из нас даже знал про эфимерные сегменты и карточный стол. Но это выглядело скорее как буклет к чему-то более сложному, что никак не описано. И теперь, когда есть и исходники и люди, в них копающиеся, мы, наконец можем ответить на этот вопрос.
Мы приглашаем вас всех на этот семинар и в течении которого с 10:00 до 20:00 с перерывами на снять напряжение с головы будет рассказано очень и очень многое о том, как же всё-таки всё устроено.
Самодельный сборщик мусора для OpenJDK
2019-03-11 в 11:12, admin, рубрики: epsilon, epsilon garbage collector, epsilon gc, garbage collector, gc, java, JDK, jpoint, jpoint2019, openjdk, Shenandoah, shenandoah garbage collector, shenandoah gc, z garbage collector, zgc, Блог компании JUG.ru Group, высокая производительность, КомпиляторыЭто перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.
Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание первой версии! Построить надежную, высокопроизводительную, устойчивую к отказам подсистему рантайма, поведение которой можно удобно наблюдать и отлаживать — очень, очень сложная задача.
Сделать простой сборщик мусора — обманчиво просто, и вот этим хочется заняться в данной статье. Роман Кеннке на FOSDEM 2019 сделал доклад и демо под названием «Пишем GC за 20 минут», используя более раннюю версию этого патча. Несмотря на то, что реализованный там код многое демонстрирует и обильно откомментирован, ощущается необходимость в хорошем высокоуровневом описании происходящего — именно так и появилась эта статья.
Базовое понимание работы сборщиков мусора сильно поможет в понимании написанного здесь. В статье будут использоваться специфика и идеи в конкретной реализации HotSpot, но вводного курса по конструированию GC здесь не будет. Возьмите GC Handbook и прочитайте первые главы про самые основы GC, а ещё быстрей позволит начать статья на Википедии.