RU

Бенчмаркая Enumerable.Chunk: почему батчей меньше, а проход до ×2,7 дольше

Chunk делит коллекцию на массивы — одна строка кода. Но есть размер чанка, после которого он замедляется в разы при тех же данных и той же памяти. А…

Enumerable.ChunkLINQкуча больших объектовLOHсборщик мусорачанкибатчингBenchmarkDotNet.NET 10аллокации
Habr
RU

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

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

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

Бенчмаркая ArrayPool: подстава при копировании потоков — 131 072 байта в LOH

ArrayPool используют ради экономии на аллокациях. Но есть размеры, где он делает обратное: массив уходит в LOH, а через new остаётся в нулевом покол…

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