Commit Graph
100 Commits
Author SHA1 Message Date
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
mlemanczyk 484c46470c Benchmarks.md updated 2023-07-15 12:50:27 +02:00
mlemanczyk af669d59c2 Merge branch 'implement-array-clearing-for-needsclearing' of https://github.com/mlemanczyk/Recyclable.Collections into implement-array-clearing-for-needsclearing 2023-07-13 20:48:04 +02:00
mlemanczyk 2f35cc7089 Cleanup. Unnecessary files removed. 2023-07-13 20:47:53 +02:00
mlemanczyk 3041e6c1ee Cleanup. Unnecessary files removed. 2023-07-13 20:44:50 +02:00
mlemanczyk d3c77525df Benchmarks.md updated 2023-07-13 18:42:21 +02:00
mlemanczyk 1bc8f34436 RecyclableList.AddRange performance improvements. 2023-07-08 15:17:20 +02:00
mlemanczyk 93d4ddd9cb Initial RecyclableList.AddRange performance improvements. Before cleanup. 2023-07-08 14:54:24 +02:00
mlemanczyk 66a713016f Params values updated. 2023-07-08 14:53:24 +02:00
mlemanczyk a275c180a5 Tiny improvement. Added small protection against invalid state. 2023-07-08 14:51:49 +02:00
mlemanczyk b39b4d2f4a Benchmarks.md updated 2023-07-08 14:51:04 +02:00
mlemanczyk 571c394f4e Benchmark improvements & fixes to have 1:1 comparison. 2023-07-08 14:50:15 +02:00
mlemanczyk 4da13cd9c1 Initial OneSizeArrayPool performance improvements. 2023-07-08 14:45:24 +02:00
mlemanczyk 5ee70abf93 Small performance improvement to benefit from .Net optimization for faster calls. 2023-07-08 14:28:36 +02:00
mlemanczyk 3f11b3b384 Benchmarks.md updated 2023-07-05 19:48:01 +02:00
mlemanczyk f1d6b2e749 Benchmarks updated 2023-07-04 19:06:53 +02:00
mlemanczyk fe77863bba RecyclableList.ResizeAndCopy moved back to RecyclableListHelpers. 2023-07-03 01:57:12 +02:00
mlemanczyk b1bcd8ea03 MemoryBucket & OneSizeArrayPool made sealed for better performance. 2023-07-03 01:26:14 +02:00
mlemanczyk af8fef4e73 Merge branch 'implement-array-clearing-for-needsclearing' of https://github.com/mlemanczyk/Recyclable.Collections into implement-array-clearing-for-needsclearing 2023-07-01 17:07:27 +02:00
mlemanczyk c20b252a6c Cleanup. Hints and warnings either disabled or fixed. Typos fixed. 2023-07-01 17:07:16 +02:00
mlemanczyk a0eb38a405 Cleanup. Hints and warnings either disabled or fixed. Typos fixed. 2023-07-01 17:01:27 +02:00
mlemanczyk 2317f53d51 Cleanup. WhenParallelSearchBenchmarks.cs removed, because it wasn't comparing anything after code changes. 2023-07-01 16:53:43 +02:00
mlemanczyk 823141400a Tiny performance improvement based on RecyclableList<T> benchmarks. 2023-07-01 15:44:59 +02:00
mlemanczyk 391c72ee48 Cleanup. Comments & dead code removed. 2023-07-01 15:43:46 +02:00
mlemanczyk 845cf602dd Cleanup. const introduced for initial capacity. 2023-07-01 15:03:32 +02:00
mlemanczyk f23e9054e5 Cleanup. Commented out code removed. 2023-07-01 15:01:40 +02:00
mlemanczyk 748f206c39 Tiny cleanup. Unnecessary code removed. 2023-07-01 14:49:16 +02:00
mlemanczyk 9d9a8abd76 Cleanup. RecyclableLongList<T> static methods moved to RecyclableLongList<T>.Helpers. 2023-07-01 14:13:02 +02:00
mlemanczyk b81182876e Merge branch 'implement-array-clearing-for-needsclearing' of https://github.com/mlemanczyk/Recyclable.Collections into implement-array-clearing-for-needsclearing 2023-07-01 14:10:08 +02:00
mlemanczyk 8352575043 RecyclableLongList.Enumerator & .VersionedEnumerator will clear the current value only when it's reference type. Tiny cleanup. 2023-07-01 14:09:48 +02:00
mlemanczyk ec9733b976 RecyclableLongList.VersionedEnumerator will clear the current value only when it's reference type. Tiny cleanup. 2023-07-01 14:08:19 +02:00
mlemanczyk 55dd7ba078 RecyclableList.Capacity setter will now resize the array & update the version for enumerators. .Dispose will update the version to break enumerators. 2023-07-01 14:06:04 +02:00
mlemanczyk cded3ced65 RecyclableList destructor removed to improve performance. 2023-07-01 14:02:31 +02:00
mlemanczyk 224800d89a RecyclableList.Count & .LongCount made read-only 2023-07-01 13:59:59 +02:00
mlemanczyk e5c20a1aaa TODOs added 2023-07-01 13:54:44 +02:00
mlemanczyk e129e43863 Tiny cleanup. Comment updated. 2023-07-01 13:49:30 +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 db8b0602c0 Benchmarks.md updated 2023-07-01 12:26:30 +02:00
mlemanczyk cec414ca0a New no. of items added to test cases. 2023-06-29 18:14:13 +02:00
mlemanczyk 5e89f6db2d Benchmarks for fixed size array creation added. 2023-06-29 18:10:56 +02:00
mlemanczyk 8940ba66f5 Constructor's benchmark results added 2023-06-29 17:34:26 +02:00
mlemanczyk 64fdf59f90 Benchmarks for empty array creation added. 2023-06-29 17:32:42 +02:00
mlemanczyk ba0d15cdcb Cleanup. RecyclableList static methods moved to RecyclableList.Helpers. 2023-06-29 13:35:12 +02:00
mlemanczyk c7e23f5f3c Tiny cleanup 2023-06-28 23:30:45 +02:00
mlemanczyk 54cb2b583d RecyclableCollectionsBenchmarks.GetTestMethod will now throw exception if the method couldn't be found in a given class. 2023-06-28 23:28:54 +02:00
mlemanczyk 3ca7d0ab7b Tiny cleanup 2023-06-28 23:27:01 +02:00