RU

А чё, так можно было? Три места в .NET, которые не развидеть

Пустой наследник Random работает медленнее родителя. string[] и object[] оказываются одним объектом. А Matrix4x4 до сих пор держит шестнадцать полей…

.NETC#обратная совместимостьнаследованиеRandomSpanковариантность массивовMatrix4x4BenchmarkDotNetпроизводительность
Habr
RU

Бенчмаркая Span.Sort: выбрал компаратор-структуру — и получил 88 байт на вызов

Перегрузка Span.Sort с компаратором-структурой должна была работать быстрее обычной. Замер показал обратное: памяти она расходует больше всех, а вре…

Span.SortкомпараторIComparerBenchmarkDotNetаллокациибоксингпроизводительность.NET 11машинный код
Habr
RU

Бенчмаркая StringBuilder: подстава на длинном тексте

StringBuilder делит текст на чанки по 8000 символов — вчетверо ниже порога кучи больших объектов. Запас такой, что попасть туда невозможно. Но чанк…

StringBuilderLOHкуча больших объектовчанкисборщик мусораоптимизация памятиаллокацииBenchmarkDotNet.NET 10Clear