Pull to refresh

Comments 2

Пользуясь случаем, задам такой вопрос. Почему StringBuilder реализован через чанки, а не в духе std::vector<wchar_t>/std::wstring, где под капотом, по сути, один массив символов, который при нехватке памяти расширяется в два (или полтора -- зависит от реализации) раза?

Куча в .NET устроена совсем иначе чем в C++, и короткоживующие чанки стоят сильно дешевле чем один буфер в куче больших объектов. Переход на большие чанки имеет смысл только для действительно больших строк.

Sign up to leave a comment.

Articles