Commit Graph
100 Commits
Author SHA1 Message Date
mlemanczyk d4d1364628 "checked" added/removed, as applicable. Span converted to ReadOnlySpan, where possible. Calls to ReadOnlySpan/Span constructors converted to type-casting, where possible. 2023-10-08 19:01:26 +02:00
mlemanczyk 39d63d1d65 << protected with "checked", where needed. 2023-10-07 14:04:33 +02:00
mlemanczyk 262590ed6e List<T> compatibility methods implemented. Unit tests extended. README.md updated. 2023-10-07 13:35:48 +02:00
mlemanczyk e6e7b4995a README.md updated. 2023-09-25 22:14:43 +02:00
mlemanczyk 2ff1aab655 Revert "Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance."
This reverts commit 22d8593e1f.
2023-09-17 13:15:17 +02:00
mlemanczyk 22d8593e1f Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance. 2023-09-17 13:12:16 +02:00
mlemanczyk 1ded5de37a Benchmarks.md updated. 2023-09-17 00:45:01 +02:00
mlemanczyk b0302e6f32 Merge branch 'add-support-for-ulong-indexing' of https://github.com/mlemanczyk/Recyclable.Collections into add-support-for-ulong-indexing 2023-09-16 21:44:48 +02:00
mlemanczyk 771856f6f2 Benchmarks.md updated. 2023-09-16 21:42:46 +02:00
mlemanczyk a1c620f5a0 Parallel execution disabled to avoid random failures due to race condition. 2023-09-16 21:42:24 +02:00
mlemanczyk b334d8f19c Tiny cleanup. Order in file of RemoveBlock fixed. 2023-09-16 21:41:38 +02:00
mlemanczyk ec7835715c Small cleanup. Names simplified. 2023-09-16 21:41:00 +02:00
mlemanczyk b9a0589597 Micro improvements to get even a bit smaller code size. 2023-09-16 21:24:06 +02:00
mlemanczyk 68582f0ffd RecyclableLongList.Contains fixed to cover border cases. Failing tests fixed. 2023-09-16 21:20:40 +02:00
mlemanczyk 4b2722f15a SetupBlockArrayPooling method removed for better performance. 2023-09-16 21:14:58 +02:00
mlemanczyk 56f79c4f21 .AddRange methods moved to their own classes, for better method resolution times. 2023-09-16 21:09:42 +02:00
mlemanczyk 5ee8a8c03f Small cleanup. Unneeded methods removed. 2023-09-16 20:58:43 +02:00
mlemanczyk 53bed6e187 New POC benchmarks added. 2023-09-16 20:36:37 +02:00
mlemanczyk 663abee724 Parameter value updated. 2023-09-16 20:35:36 +02:00
mlemanczyk 679959c6f6 Small improvement to benchmarks to pre-calculate block size, avoiding impact on benchmarks. 2023-09-16 20:35:16 +02:00
mlemanczyk 2e1abeaab9 Small cleanup 2023-09-16 20:33:11 +02:00
mlemanczyk b9933d377b Small cleanup 2023-09-16 20:24:32 +02:00
mlemanczyk 9f5871829d RecyclableLongList.ReservedBlockCount removed to limit size & improve performance. 2023-09-11 21:09:32 +02:00
mlemanczyk 988a51a431 README.md updated. 2023-09-11 20:34:51 +02:00
mlemanczyk 4ffcc9109b Merge branch 'main' of https://github.com/mlemanczyk/Recyclable.Collections 2023-09-10 18:04:19 +02:00
mlemanczyk ebdb805ee9 Release 0.0.5 2023-09-10 18:02:52 +02:00
mlemanczyk 4fad5de302 Release 0.0.5 2023-09-10 17:58:45 +02:00
mlemanczyk 557fb9a90b Compilation error fixed. 2023-09-10 17:53:52 +02:00
mlemanczyk 3652888127 Accidental change reversed. 2023-09-10 17:44:32 +02:00
mlemanczyk 1141f2b844 Benchmarks.md partially updated. 2023-09-10 17:44:14 +02:00
mlemanczyk 4ec3b81460 README.md updated. 2023-09-10 17:43:41 +02:00
mlemanczyk a315ff80d5 Unit tests extended. Missing .ToRecyclableList() & .ToRecyclableLongList() variants added. Support for all major interfaces finished. README.md updated. 2023-09-10 17:42:08 +02:00
mlemanczyk 9cd2096783 RecyclableLongList.Enumerator restored as the issue was somewhere else. 2023-09-10 12:28:29 +02:00
mlemanczyk 8e2885ecd3 Failing tests fixed. RecyclableLongList.Insert(int) fixed. 2023-09-09 19:15:43 +02:00
mlemanczyk 49bcc3801d Merge branch 'add-unit-tests' of https://github.com/mlemanczyk/Recyclable.Collections into add-unit-tests 2023-09-09 18:28:16 +02:00
mlemanczyk f9bc7cfcaa Missing reference added. 2023-09-09 18:22:53 +02:00
mlemanczyk 40cff659af Test cases updated 2023-09-09 18:22:04 +02:00
mlemanczyk e941fdf8db Unit tests extended. Various fixes. README.md updated. 2023-09-09 18:19:28 +02:00
mlemanczyk 98347f0727 Tests reworked for better coverage & more targeted scenarios. 2023-09-03 18:14:59 +02:00
mlemanczyk 1202225162 Tests reworked for better coverage & more targeted scenarios. 2023-09-03 17:55:43 +02:00
mlemanczyk aeb0ee23f1 .ToRecyclableList & .ToRecyclableLongList calls replaced with standard .Net collections for better stability. 2023-09-03 17:16:46 +02:00
mlemanczyk cb66a90a9c Small cleanup. Duplicated tests removed. 2023-09-03 16:54:18 +02:00
mlemanczyk 1e795f10eb Calls to ContainInConsecutiveOrder replaced with Equal. The lists must have the same elements, in the same order and no additional elements. 2023-09-03 16:40:28 +02:00
mlemanczyk 3d975093d5 New benchmarks added 2023-09-03 16:28:01 +02:00
mlemanczyk d99ec044a3 Missing capacity parameter added for better performance. 2023-09-03 16:03:22 +02:00
mlemanczyk 79bd17afad Partial support for Array class added. 2023-09-03 15:35:24 +02:00
mlemanczyk e78d9bbc8a growByCount parameter removed in RecyclableLongList.AddRangeEnumerated to avoid unnecessary too big allocations. It'll double the size of memory blocks array with each increase, instead. 2023-09-03 15:27:43 +02:00
mlemanczyk bb2f0e6d28 RecyclableListHelpers.ResizeAndCopy made independent from list count. 2023-09-03 15:17:31 +02:00
mlemanczyk 1d13116e38 Merge branch 'add-unit-tests' of https://github.com/mlemanczyk/Recyclable.Collections into add-unit-tests 2023-09-03 14:56:13 +02:00
mlemanczyk fed4429f78 VS Code tasks.json fixed to build the entire solution. X-unit test settings adjusted for better performance. 2023-09-03 14:55:58 +02:00
mlemanczyk 883e8b4eff VS Code tasks.json fixed to build the entire solution. X-unit test settings adjusted for better performance. 2023-09-03 14:52:35 +02:00
mlemanczyk 2cee41904a Merge branch 'add-unit-tests' of https://github.com/mlemanczyk/Recyclable.Collections into add-unit-tests 2023-09-03 14:48:04 +02:00
mlemanczyk 96968d5452 Small cleanup 2023-09-03 14:47:56 +02:00
mlemanczyk 4c7a50969b Small cleanup 2023-09-03 14:42:18 +02:00
mlemanczyk f928e1e35e QuickSort methods extracted to their own extension class. 2023-09-03 13:35:49 +02:00
mlemanczyk 7434b28894 Benchmarks.md updated. 2023-08-06 18:37:15 +02:00
mlemanczyk ae6410aff7 README.md updated. 2023-08-06 15:45:31 +02:00
mlemanczyk 5eab6fb0e2 Benchmarks.md updated. 2023-08-06 15:37:27 +02:00
mlemanczyk 92ba2c44ee Merge branch 'implement-array-clearing-for-needsclearing' of https://github.com/mlemanczyk/Recyclable.Collections into implement-array-clearing-for-needsclearing 2023-08-05 22:32:55 +02:00
mlemanczyk 21dafebfcf Release 0.0.4. 2023-08-05 22:32:45 +02:00
mlemanczyk d4ae404d87 Release 0.0.4. 2023-08-05 22:32:18 +02:00
mlemanczyk 40df8530ad Benchmarks.md updated. 2023-08-05 22:31:44 +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 a6adeff9e5 Cleanup. Old method removed. 2023-08-05 21:14:28 +02:00
mlemanczyk 128639fd5e RecyclableLongList.Insert implementation finished. Tests added. 2023-08-05 21:13:32 +02:00
mlemanczyk 5a2ae1c261 RecyclableLongList.Remove & .RemoveAt fixed to correctly set _lastBlockWithData to -1, when we remove the last item. 2023-08-05 19:18:13 +02:00
mlemanczyk 268dbb5b1d Tiny cleanup. 2023-08-05 17:09:05 +02:00
mlemanczyk 0e8eef7e6a Benchmarks.md updated. 2023-08-05 17:06:50 +02:00
mlemanczyk a80db94533 RecyclableLongList.Insert implemented. 2023-08-05 17:05:29 +02:00
mlemanczyk 8714b5b977 RecyclableLongList.Remove & .RemoveAt performance improvements. 2023-08-05 17:01:21 +02:00
mlemanczyk 66364ce4f9 Assignments converted to spans 2023-08-05 00:37:25 +02:00
mlemanczyk 7606bc302c Small cleanup 2023-08-05 00:23:47 +02:00
mlemanczyk a14a91b67f Recyclable.Collections.RemoveAt_FirstItems fixed to always remove the 1st item. 2023-08-04 19:45:13 +02:00
mlemanczyk 2d8b203bf6 RecyclableLongList.RemoveAt performance improvements. 2023-08-03 18:16:11 +02:00
mlemanczyk ddb3a9b5ad Benchmarks.md updated. 2023-08-03 01:50:43 +02:00
mlemanczyk 1e5f963148 RecyclableLongList.CopyFollowingItems performance improvements. Benchmarks added. Tests cleanup & normalization. Before cleanup. 2023-08-03 01:50:09 +02:00
mlemanczyk 2996553776 Benchmarks.md updated 2023-07-19 20:11:32 +02:00
mlemanczyk 3e45295b2c Release 0.0.3.4-alpha 2023-07-16 15:35:01 +02:00
mlemanczyk 6c545ef2a7 Repeated word removed. 2023-07-16 12:16:30 +02:00
mlemanczyk 56ca83d128 .ToArray() calls removed or converted to recyclable types. 2023-07-16 12:15:35 +02:00
mlemanczyk 10189d0d11 RecyclableLongList.AddRangeWithKnownCount fixed for cases when both collections are empty. 2023-07-16 12:14:13 +02:00
mlemanczyk e53d6a134c RecyclableList.Insert performance improvement. Local variable removed. 2023-07-16 12:11:38 +02:00
mlemanczyk 303fb68907 RecyclableList.AddRangeEnumerated fixed to update _count before resizing the collection, because RecyclableListHelpers<T>.ResizeAndCopy() relies on it. 2023-07-16 11:55:54 +02:00
mlemanczyk 75ad8227c2 Tiny cleanup. Local var renamed to match other places. 2023-07-16 11:52:45 +02:00
mlemanczyk fc2335f5e4 RecyclableArrayPool<T> & OneSizeArrayPool converted to structs. 2023-07-15 17:58:12 +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 54b7320bcb Tiny cleanup. Unnecessary casting removed. 2023-07-15 17:38:31 +02:00
mlemanczyk 78b7f31aeb Benchmarks.md updated. 2023-07-15 17:13:10 +02:00
mlemanczyk 0b4ee0b39f Compilation error fixed. RecyclableDefaults.InitialCapacity added. 2023-07-15 17:12:33 +02:00
mlemanczyk 81f2c6d137 RecyclableList.AddRange fix to skip empty sources. 2023-07-15 16:44:51 +02:00
mlemanczyk 8242247436 RecyclableList.AddRange performance improvements. Local variable removed. 2023-07-15 16:42:33 +02:00
mlemanczyk 7909417a68 README.md updated 2023-07-15 16:30:49 +02:00
mlemanczyk f05d00e8d4 Tiny cleanup. Parameters renamed to be more descriptive. 2023-07-15 15:55:32 +02:00
mlemanczyk 17703618d4 Tiny performance improvements. Property replaced with field. 2023-07-15 15:52:44 +02:00
mlemanczyk ceffb90936 Small cleanup. RecyclableList.InitialCapacity moved to RecyclableDefaults. 2023-07-15 15:49:03 +02:00
mlemanczyk 1540d8e286 Fixed problem in RecyclableList.Helpers & RecyclableList causing an exception trying to copy too many items into the destination. 2023-07-15 15:45:09 +02:00
mlemanczyk 64002fc443 Recyclable.Collections.xxx_AddRange_WhenSameType fixed 2023-07-15 14:53:18 +02:00
mlemanczyk d03697e123 Array-based version for AddRange added to Recyclable.Collections benchmarks. 2023-07-15 14:49:54 +02:00
mlemanczyk 38f53fc8f3 Recyclable.Collections benchmarks adjusted to be closer to real use-cases. Initialization with predefined capacity removed. 2023-07-15 14:42:35 +02:00