Commit Graph
84 Commits
Author SHA1 Message Date
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
mlemanczyk 1157e3e23d Test cases adjusted to limit execution time. 2023-03-20 19:32:08 +01:00
Marek Lemańczyk e6224ebe44 Fixed handling of empty lists in RecyclableArrayList.
Some RecyclableList properties made public to allow use in RecyclableArrayList.

Added support for RecyclableList in RecyclableArrayList.AddRange.

Additional tests added for RecyclableArrayList.
2023-03-19 20:37:18 +01:00
Marek Lemańczyk e312accfe5 Unused & confusing test data removed. 2023-03-17 02:09:16 +01:00
Marek Lemańczyk 3e8f03e59f RecyclableList tests extended & parameterized for various combinations of block sizes in source & target lists, including different no. of items. 2023-03-17 01:42:30 +01:00
Marek Lemańczyk bdf69f300d Added test cases for various block sizes & items counts. 2023-03-12 18:01:30 +01:00
Marek Lemańczyk c211fb6ee4 RecyclableList.AddRange(IEnumerable<T> source) performance improvements. Small source code cleanup. 2023-03-12 03:44:07 +01:00