TGViewer
C# Heppard C# Heppard @csharp_gepard · 1.65K subscribers
Post #46 1.62K
Пуллинг массивов #память #статья

Предлагаю прочитать статью от некого Евгения про осторожное использование ArrayPool в многопоточной среде. Автор рассказал о том, как пул устроен и какие есть способы работать с ним для разных сценариев. Бенчмарки, схемы и разбор диагностик прилагаются.

Вот какие выводы были сделаны:

1. Пулинг объектов (в том числе массивов) помогает снизить аллокации и нагрузку на GC.

2. Неудачная или неподходящая для конкретного профиля нагрузки реализация пула может испортить производительность.

3. Для небольших массивов, нужных на короткое время, предпочтительно использовать масштабирующийся ArrayPool<T>.Shared.

4. Для больших массивов желательно использовать пул, созданный через ArrayPool<T>.Create как более вместительный и не разделённый по потокам.
Хабр ArrayPool<T>: подводные камни Автоматическая сборка мусора упрощает разработку программ, избавляя от необходимости отслеживать жизненный цикл объектов и удалять их вручную. Однако, чтобы сборщик мусора был полезным инструментом, а...
  • 👍 8
  • ❤ 5
More from @csharp_gepard
  1. Mar 13, 2026Ozon Tech Community .NET Meetup 24 марта, лофт Casa Picassa, 19:00 Ищем способы бороться с…
  2. Jan 20, 2026Ещё одна история про память #отдых Судя по комментариям специалистов и ценам на RAM в мага…
  3. Nov 25, 2025FastEnum #скорость Иногда нам нужно не просто быстро, а очень быстро. В этот момент в дело…
  4. Nov 20, 2025UnsafeAccessor #скорость Иногда возникает странное желание изменять приватные поля в класс…
  5. Nov 17, 2025Latency numbers every programmer should know Я всё время теряю эти циферки, особенно когда…
  6. Oct 29, 2025Dictionary.TryGetValue #скорость Уж сколько лет прошло и, вроде, все это знают. Но, тем не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →