public void ArrayPoolUsesSameArray()
        {
            var config = new ArrayPoolConfig();
            var pool   = config.Create();

            var array1 = pool.GetArrayExact <object>(1);

            pool.ReleaseArray(array1);

            var array2 = pool.GetArrayExact <object>(1);

            Assert.Equal(array1, array2);
        }
        public void ArrayPoolCuncurrentPerformance()
        {
            var config = new ArrayPoolConfig();
            var pool   = config.Create();

            Enumerable.Range(0, 100)
            .AsParallel()
            .WithDegreeOfParallelism(20)
            .ForAll(x =>
            {
                var array = pool.GetArrayExact <object>(1);
                array[0]  = x;
                pool.ReleaseArray(array);
            });
        }