Commit Graph
90 Commits
Author SHA1 Message Date
mlemanczyk 96968d5452 Small cleanup 2023-09-03 14:47:56 +02:00
mlemanczyk f928e1e35e QuickSort methods extracted to their own extension class. 2023-09-03 13:35:49 +02:00
mlemanczyk 985ba960c6 Tiny cleanup. 2023-08-05 22:30:51 +02:00
mlemanczyk 4d680ee453 RecyclableList.Insert fixed to allow inserting at the end. 2023-08-05 22:29:57 +02:00
mlemanczyk 128639fd5e RecyclableLongList.Insert implementation finished. Tests added. 2023-08-05 21:13:32 +02:00
mlemanczyk a80db94533 RecyclableLongList.Insert implemented. 2023-08-05 17:05:29 +02:00
mlemanczyk 1e5f963148 RecyclableLongList.CopyFollowingItems performance improvements. Benchmarks added. Tests cleanup & normalization. Before cleanup. 2023-08-03 01:50:09 +02:00
mlemanczyk 56ca83d128 .ToArray() calls removed or converted to recyclable types. 2023-07-16 12:15:35 +02:00
mlemanczyk ff4a4b6683 Fix to avoid exception when the target is smaller, if the no. of items on the list is smaller than capacity. 2023-07-15 17:41:27 +02:00
mlemanczyk c20b252a6c Cleanup. Hints and warnings either disabled or fixed. Typos fixed. 2023-07-01 17:07:16 +02:00
mlemanczyk b9181eee23 RecyclableList.Resize performance improvements. We'll always initiate the list to 4 elements to eliminate branching along the way. Before cleanup. 2023-07-01 13:02:43 +02:00
mlemanczyk 11fd6e3dd0 RecyclableList<T>.Helpers renamed to RecyclableListHelpers and made top-level class for better performance. 2023-07-01 12:53:37 +02:00
mlemanczyk d465029358 RecyclableList<T>.RecyclableListHelpers renamed to RecyclableList<T>.Helpers 2023-06-25 20:16:30 +02:00
mlemanczyk e65a7c2230 IVersionedList<T> & IVersionedLongList<T> renamed to IRecyclableVersionedList<T> & IRecyclableVersionedLongList<T>. README.md updated. 2023-06-25 01:08:06 +02:00
mlemanczyk d830a53006 Versioned enumerator for RecyclableList implemented. Benchmarks & tests added. 2023-06-25 00:05:17 +02:00
mlemanczyk 448656fd29 IVersionedLongList<T> interface & RecyclableLongList.GetVersionedEnumerator added for use with foreach. 2023-06-25 00:04:05 +02:00
mlemanczyk 20fe0cc491 RecyclableList.Enumerator optimized. Tests fixed. 2023-06-21 02:15:09 +02:00
mlemanczyk c5406b04b7 RecyclableLongListExtensions & ListExtensions cleaned up 2023-06-17 13:09:19 +02:00
mlemanczyk e03daf337f NuGet packages updated to latest versions. 2023-06-10 09:44:20 +02:00
mlemanczyk 3ae44a0d21 RecyclableQueueTests extended 2023-06-10 09:13:32 +02:00
mlemanczyk 5b961c73d1 RecyclableLongList fixes to LastBlockWithData calculations. Tests extended. 2023-06-10 06:39:30 +02:00
mlemanczyk 21c82d80a2 Compilation error fixed. 2023-05-25 19:22:32 +02:00
mlemanczyk 1a723c6f4f RecyclableArrayList renamed to RecyclableList 2023-05-21 20:43:33 +02:00
mlemanczyk 9429218c62 RecyclableList renamed to RecyclableLongList. 2023-05-21 20:09:38 +02:00
mlemanczyk 24c2491df0 Cleanup of no longer needed classes. ParallelSynchronizationContext/-Pool renamed to IndexOfSynchronizationContext/-Pool. 2023-05-21 16:10:21 +02:00
mlemanczyk 98658e73fa The no. of max items count limited due to very long running times. 2023-05-21 15:43:33 +02:00
mlemanczyk b458f450fc RecyclableList.IndexOf performance improvements. 2023-05-21 15:42:32 +02:00
mlemanczyk 3db10d7602 RecyclableList.IndexOf parallel performance improvements. 2023-05-03 12:36:37 +02:00
mlemanczyk 52dc663ada Several hints removed & code cleaned up. 2023-05-01 17:45:03 +02:00
mlemanczyk ac6d71686c ItemRangesIterator tests re-enabled. 2023-04-30 22:04:01 +02:00
mlemanczyk aa78a2ba40 Dirty RecyclableList.IndexOf parallelization implemented. 2023-04-25 01:51:22 +02:00
mlemanczyk 098d862a3c x64 platform added. 2023-04-11 20:33:59 +02:00
mlemanczyk fdea416dc1 RecyclableList[index] tests added for get. 2023-04-10 22:37:15 +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 1f86ef2c59 MathUtils.IsPow2 & MathUtils.GetPow2Shift performance improvements. 2023-03-27 01:12:39 +02:00
mlemanczyk 858964edbc MathUtils added 2023-03-26 23:38:21 +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 b815767d8f RecyclableArrayList & RecyclableList tests synced. 2023-03-24 20:53:54 +01:00
mlemanczyk 76598dcc7d Cleanup 2023-03-24 20:14:29 +01:00
mlemanczyk 00b059006d Compilation error fix. 2023-03-24 20:13:40 +01:00
mlemanczyk 98026f0103 No. of test cases reduced due to high execution times. 2023-03-24 20:10:49 +01:00
mlemanczyk a5a4129f1c Resolved problem with running tests all together. 2023-03-24 20:04:16 +01:00
mlemanczyk e4e63715c2 Added missing "using" 2023-03-24 19:06:01 +01:00
mlemanczyk 5a39dc87f0 Tests ordered alphabetically. 2023-03-22 00:25:16 +01:00
mlemanczyk c84cf263ca Missing using added to limit pressure on garbage collector.
RecyclableArrayList.Remove tests extended to cover more cases.

Tiny cleanup.
2023-03-22 00:07:24 +01:00
mlemanczyk cda1c2b77d Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-03-20 23:51:30 +01:00
mlemanczyk 277e52f701 RecyclableArrayList.Contains fixed to not throw exception when the list is empty.
RecyclableArrayList tests sorted alphabetically, simplified & extended to use the test data & validate various combinations of item counts & block sizes.
2023-03-20 23:51:23 +01:00
mlemanczyk b91c4476eb RecyclableList.BlockCount renamed => RecyclableList.ReservedBlockCount. Fixed to always include the last block.
RecyclableList.LastTakenBlockIndex property added for some scenarios.

RecyclableList.IndexOf & .LongIndexOf fixed to use the correct index.

RecyclableArrayList.AddRange(RecyclableList<T> items) fixed to use the correct index.

Some test cases excluded, where needed.
2023-03-20 23:46:50 +01:00
mlemanczyk b1e6c587c3 RecyclableList modified to respect the removal of blocks.
RecyclableList.IndexOf fixed to work in various combinations.

RecyclableList tests extended.
2023-03-20 21:48:09 +01:00
mlemanczyk 070549de9e Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-03-20 19:40:11 +01:00