LINUX.ORG.RU

Производительность shared_ptr

 


0

3
auto a = std::make_shared<DemoClass>();

for (int i = 0; i < 100000000; i++)
{
  auto b = a;
}

В release выполняется секунду.

Аналогичный код на C#


var a = new DemoClass();

for (int i = 0; i < 100000000; i++)
{
  var b = a;
}

выполняется 65 мс.

Все из-за lock inc dword ptr [ebx] в крестах. Ибо ниасилили сборщег мусора без лишних монопольных изменений счетчика ссылок.

I love .NET!



Последнее исправление: Udacha (всего исправлений: 2)

Ответ на: комментарий от Udacha

Лол. Чел, смирись, ты не умеешь программировать. В общем-то любому человеку, который понимает хотя бы в общих чертах, как работает компьютер это очевидно.

Поле, являющееся ссылкой - это совершенно обычная конструкция в С++, никакой борьбы с языком, наоборот его использование. Разумеется, для того, чтобы так писать на С++, нужно его знать и IQ чуть больше 80, но многие справляются.

Ivan_qrt ★★★★★
()
20 апреля 2023 г.