tgoop.com/cxx95/17
Create:
Last Update:
Last Update:
#madskillz
Garbage Collector
На C++ есть проекты, где реализована сборка мусора.
Например, браузерный движок Blink (часть Chromium). Это такой монолит, где зависимости между разными объектами настолько сложные, что понимание общей картины - нереально для человека. И там есть МНОГО циклических зависимостей, потому что в какой-то момент архитектура бронзовеет и ее не переделать. Чтобы циклов не было, писали примерно так:
class A {
RefPtr<B> m_b;
};
class B {
A* m_a;
};
В какой-то момент всё было настолько плохо, что память протекала в 10% тестов. Решили проблему, добавив сборщик мусора. Это не особо повлияло на перф, но убрало многие протекания и краши - win!
https://docs.google.com/presentation/d/1YtfurcyKFS0hxPOnC3U6JJroM8aRP49Yf0QWznZ9jrk/edit
BY C++95

Share with your friend now:
tgoop.com/cxx95/17