Что означают параметры этого метода.
Какими они должны быть? И на что влияют, а то они явно не работают?
ArrayPool Create (int maxArrayLength, int maxArraysPerBucket);
Это невозможно расшифровать.
maxArrayLength nt32 Максимальная длина экземпляра массива, который может храниться в пуле.
maxArraysPerBucket Int32 Максимальное число экземпляров массива, которое может храниться в каждом контейнере в пуле. Для более быстрого доступа пул группирует массивы схожей длины в контейнеры.
Почему тогда
// создаю пул с макс длинной 1, и что-то там еще 1
ArrayPool<int> pool = ArrayPool<int>.Create(1,1);
// а почему он создает, а не кидает там исключение, если макс размер 1?
var a1=pool.Rent(5000000);
pool.Rent(5000000); // а макс число экз-ов почему так же не работает
pool.Rent(5000000);
pool.Rent(5000000);
pool.Rent(5000000);
а pool.Return() что делает, точнее надо ли перед pool.Return() очищать массив, или обнулять.