Распределение в C # на самом деле быстрее, чем в C ++. Это просто включает увеличение указателя кучи и возврат этого указателя. Как правило, объекты в C # поднимаются newed
чаще, чем в C ++, поскольку в таких вещах, как strings .
, немного больше неизменности.
Как уже отмечали другие, настоящий зверь - это сборщик мусора, который немного сложно описать. Тем не менее, даже GCing в большинстве случаев так же быстр, если не быстрее, чем delete
в C ++ - просто вы не можете предсказать, когда это произойдет.
Несколько советов Рико Мариани, парня из команды .NET: http://msdn.microsoft.com/en-us/library/ms973837.aspx
Это немного устарело, и в GC было несколько улучшений, но большая часть информации все еще актуальна.
Я должен добавить, что сборщик мусора XNA / Compact Framework несколько медленнее, чем в версии x86, компенсирует ЦП на производительность памяти, поэтому вам следует остерегаться этого.
EDIT
Я забыл упомянуть, и это важно: типы значений , включая структуры, также используют синтаксис new
, но они создаются в стеке, а не в куче, поэтому нет Стоимость GC для тех, кого вы коробка их.