Проект Oilpan бросает вызов утечкам памяти!

Разработчики из Chromium объявили о начале работы над проектом Oilpan, который в идеале должен помочь справиться с утечками памяти, поднять стабильность, повысить безопасность, улучшить модель программирования, спасти человечество от голода. А теперь подробнее…

Oilpan

На картинке сверху приводится область проекта Chromium, проблемы в которой и побудили к разработке Oilpan (вариант перевода: масляный поддон). Браузер в основе своей имеет свободный движок для рендеринга страниц Blink (который когда-то был WebKit, который когда-то был KHTML, который когда-то создали для браузера Konqueror). В движке этом аж 350 тыс. строк кода, написанного на C++. А очистку памяти от объектов в нем проводят методом подсчета ссылок (reference counting), который крайне плох. Чем плох:

  • Трудно программировать, нужно много учиться потому что трудно представить какие объекты с какими связаны и вообще все сложно.
  • Утекает память. И отследить дыру крайне сложно.
  • Потенциальные дыры в безопасности. Да, их тоже трудно найти.
  • Не понятно, как при этом вообще работает связь между V8 и Blink. Чистая магия. Работает — не трожь

Собственно, проект Oilpan и ставит своей задачей заменить reference counting на свой новый и модный сборщик мусора (garbage collector). Это поможет решить все вышеописанные проблемы и восстановить баланс Сил.

Идея эта пришла разработчикам во время приготовления печенек.

Если вы знаете такие сложные фразы, как garbage collector, то вот вам официальная презентация грядущих изменений и подробное описание.

Переходный период начнется в январе. Во время переходного периода разработчики обещают немного багов и проблем. Ждем.

 

1 star2 star3 star4 star5 star (ОЦЕНИТЬ!)
Загрузка...
Прочее
Комментировать!

Автор: Mikhail Malinin

Родился 14 мая 1984 года в городе Уайт-Плейнс (штат Нью-Йорк), что в нескольких километрах к северу от города Нью-Йорка, в еврейской семье. Отец — стоматолог Эдвард Цукерберг (по состоянию на 2012 год продолжал практику). Мать — психиатр Карен Цукерберг. Был вторым ребёнком и единственным мальчиком из 4 детей в семье; его сёстры — Рэнди (старшая), Донна и Ариэль.