Commit Graph
240 Commits
Author SHA1 Message Date
mlemanczyk 9609b77a52 Additional benchmarks added. 2023-04-12 23:39:25 +02:00
mlemanczyk 3cb0a47c60 RecyclableCollectionsBenchmarks split into multiple files. 2023-04-12 23:36:11 +02:00
mlemanczyk 0449700244 RecyclableList.EnsureCapacity performance improvement. 2023-04-11 21:24:28 +02:00
mlemanczyk 9cb9aa8bf0 ArraySizeLimitPocBenchmarks reworked. 2023-04-11 20:38:25 +02:00
mlemanczyk 098d862a3c x64 platform added. 2023-04-11 20:33:59 +02:00
mlemanczyk 595566d0b9 The current maximum pooled block size, from testing, added. 2023-04-11 20:31:34 +02:00
mlemanczyk 7c7740b27c RecyclableList performance improvements to pre-calculate the value of _blockSize - 1 & store it under _blockSizeMinus1 2023-04-11 20:30:34 +02:00
mlemanczyk abbd568c6b RecyclableList.LastTakenBlockIndex renamed to LastBlockWithData. Tiny cleanup. 2023-04-11 20:24:26 +02:00
mlemanczyk 2d7e62df72 Benchmarks mostly reorganized & cleaned up. Simplified for re-runs. 2023-04-11 16:42:06 +02:00
mlemanczyk eae5cb4452 Changed all benchmarks to be non-baseline by default. Missing parameters added everywhere. 2023-04-11 00:46:22 +02:00
mlemanczyk 24a14f810b Additional benchmarks added. One-off quick smoke test added. 2023-04-11 00:16:05 +02:00
mlemanczyk 91515cb76b Typo fixed. Basic RecyclableList.Resize documentation added. 2023-04-11 00:13:59 +02:00
mlemanczyk 0063f11ff5 Clear mode set to ClearMode.Always in PooledList benchmarks to have fair comparison on worst case. 2023-04-11 00:12:53 +02:00
mlemanczyk 767892a9eb Array_IndexOf_FirstItems benchmark added. 2023-04-10 23:07:51 +02:00
mlemanczyk 6b2db42d0d Partial support for items counts exceeding int.MaxValue 2023-04-10 22:56:02 +02:00
mlemanczyk fdea416dc1 RecyclableList[index] tests added for get. 2023-04-10 22:37:15 +02:00
mlemanczyk 4165c9c6d9 RecyclableList.EnsureCapacity & .Resize performance improvements. Custom ArrayPool<T> added. 2023-04-10 22:35:00 +02:00
mlemanczyk 7f84cdc636 RecyclableList.Resize performance improvements. 2023-04-09 03:10:46 +02:00
mlemanczyk a132fdc775 RecyclableList.EnsureCapacity performance improvements. 2023-04-09 01:54:52 +02:00
mlemanczyk ed76bd99ba Failing tests fixed. 2023-04-09 01:51:58 +02:00
mlemanczyk 298af4e718 Arithmetic overflow protections added. 2023-04-09 00:50:12 +02:00
mlemanczyk b7af797dd7 Tiny cleanup 2023-04-08 01:15:27 +02:00
mlemanczyk dead323502 RecyclableArrayList.Remove & .RemoveAt performance improvements. 2023-04-08 01:13:37 +02:00
mlemanczyk fd9c2dab82 RecyclableList.Remove & .RemoveAt performance improvements. 2023-04-08 01:02:11 +02:00
mlemanczyk 3369bcc6cb RecyclableList.Remove & .RemoveAt performance improvements. 2023-04-08 00:34:23 +02:00
mlemanczyk 064b3f0cb0 .Remove & .RemoveAt benchmarks added. 2023-04-07 23:34:43 +02:00
mlemanczyk 1ce91c0062 RecyclableArrayList.Remove, RecyclableArrayList.RemoveAt, RecyclableList.Remove & RecyclableList.RemoveAt performance improvements.
Support for removal of any item implemented in RecyclableList.Remove & .RemoveAt.
2023-04-07 01:09:25 +02:00
mlemanczyk d6b351b1eb RecyclableList.DoIndexOf multiplication changed to bit shifting for better performance. 2023-04-01 20:01:34 +02:00
mlemanczyk 80756aff44 RecyclableList.RemoveAt fix to release the rented block correctly. 2023-04-01 20:00:32 +02:00
mlemanczyk 239d45fc8c RecyclableArrayList.IndexOf improved to not raise exception when the list is empty. 2023-04-01 16:38:53 +02:00
mlemanczyk 4500484831 RecyclableArrayList.IndexOf performance improvements. 2023-04-01 13:54:53 +02:00
mlemanczyk d79dc4fb86 Tiny cleanup 2023-03-30 20:29:36 +02:00
mlemanczyk 83f5b2ddc1 All benchmarks enabled by default 2023-03-30 19:45:49 +02:00
mlemanczyk a2694a0b87 Benchmark results added. 2023-03-30 19:39:34 +02:00
mlemanczyk 07f1ee6880 Benchmarks for Collections.Pooled added 2023-03-30 19:36:03 +02:00
mlemanczyk d1e0482693 RecyclableList.SetNewLength renamed to RecyclableList.Resize & performance improved. 2023-03-30 19:33:55 +02:00
mlemanczyk 8c0d3c5fbc Responsibility for rounding RecyclableList.minBlockSize up to the closest & highest power of 2 moved to .SetNewLength. 2023-03-27 01:53:09 +02:00
mlemanczyk 1f86ef2c59 MathUtils.IsPow2 & MathUtils.GetPow2Shift performance improvements. 2023-03-27 01:12:39 +02:00
mlemanczyk b33904a17f RecyclableList.BlockSize enforced to be the power of 2 2023-03-27 01:10:54 +02:00
mlemanczyk 3f986c75a2 Additional benchmarks added to compare iterations over RecyclableList. 2023-03-27 00:00:42 +02:00
mlemanczyk 0cc9f6b84a Modulo benchmarks added. 2023-03-26 23:57:23 +02:00
mlemanczyk bd04f10931 Tiny cleanup 2023-03-26 23:40:13 +02:00
mlemanczyk 858964edbc MathUtils added 2023-03-26 23:38:21 +02:00
mlemanczyk ef285bdc67 Historical versions removed. 2023-03-26 23:37:26 +02:00
mlemanczyk 9aac3e0224 RecyclableList[int] & RecyclableList[long] performance improvements. We'll now require the block size to be the power of 2. Includes historical versions. 2023-03-26 23:35:08 +02:00
mlemanczyk c7052e778f RecyclableList.SetNewLength fixed to properly initialize the list if the no. of memory blocks from array pool exceeds requested no. 2023-03-26 23:22:32 +02:00
mlemanczyk f231f7e0aa RecyclableList.LastBlockIndex renamed to RecyclableList.NextItemBlockIndex. 2023-03-26 23:16:34 +02:00
mlemanczyk 17787b2cb1 Benchmark results moved to Recyclable.Collections.Benchmarks to keep the package clean. 2023-03-24 21:02:45 +01:00
mlemanczyk b815767d8f RecyclableArrayList & RecyclableList tests synced. 2023-03-24 20:53:54 +01:00
mlemanczyk 76598dcc7d Cleanup 2023-03-24 20:14:29 +01:00