Commit Graph

  • 3cfe0b7e79 We'll now use Span<T> instead of memory to eliminate 1 more local var. mlemanczyk 2023-01-28 23:04:55 +01:00
  • 3d6536beea RecyclableList.Add marked for aggressive inlining for the best performance mlemanczyk 2023-01-28 22:49:10 +01:00
  • 6da67ede0d RecyclableArrayList.Add marked for aggresive inlining for the best performance. mlemanczyk 2023-01-28 22:40:48 +01:00
  • 315acb5a68 Fixing condition for taking array from the pool mlemanczyk 2023-01-28 15:02:50 +01:00
  • 3ce5c52d54 Adjusting default block size to what .Net currently returns to avoid sub-optimal execution paths. mlemanczyk 2023-01-28 14:32:19 +01:00
  • 41c9eccd81 Adjusting const to ^2 mlemanczyk 2023-01-28 14:28:51 +01:00
  • d545d31aea Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added mlemanczyk 2023-01-28 14:19:56 +01:00
  • c72b18ad1d Source code cleanup mlemanczyk 2023-01-28 14:19:31 +01:00
  • 10717c4bd4 Source code cleanup mlemanczyk 2023-01-28 14:19:31 +01:00
  • 680776f259 Performance improvement - Removing unneeded check. There is no case the new block count == current block count. mlemanczyk 2023-01-28 14:18:34 +01:00
  • 35ccb12efc Performance improvements mlemanczyk 2023-01-28 14:05:30 +01:00
  • b9b4c40cf9 Performance improvement. Removing unnecessary var. mlemanczyk 2023-01-27 23:48:56 +01:00
  • d4440134c8 ref removed. I seem to get better & more stable benchmarks without it. mlemanczyk 2023-01-27 23:32:28 +01:00
  • 4fcf3f2362 public MemoryBlocks property added to allow more efficient use. mlemanczyk 2023-01-27 22:33:14 +01:00
  • c283cb562c Read.me extended & updated. mlemanczyk 2023-01-27 22:31:42 +01:00
  • f9b2d82629 RecyclableList.Clear, .RemoveAt, .RemoveBlock, .SetNewLength, Dispose performance improvements. mlemanczyk 2023-01-25 22:48:37 +01:00
  • 032908bc7d _lastBlockIndex & _lastItemIndex fields added for performance gain. Tiny cleanup. mlemanczyk 2023-01-24 22:41:43 +01:00
  • 9db490d8e9 Fixed problem with RecyclableList.RemoveAt returning to the pool always the same block mlemanczyk 2023-01-24 02:10:26 +01:00
  • 43c2c6f13a if converted to switch for performance improvements. mlemanczyk 2023-01-23 01:40:11 +01:00
  • f45b6aac98 RecyclableList performance optimizations. mlemanczyk 2023-01-23 01:22:41 +01:00
  • 30dfd97336 ReleaseBlock method removed. mlemanczyk 2023-01-23 00:16:02 +01:00
  • 64be78d1c6 Benchmark list updated for current runs. mlemanczyk 2023-01-23 00:15:25 +01:00
  • cbac777e43 Using cleanup mlemanczyk 2023-01-22 23:46:20 +01:00
  • 1691f07fbe RecyclableList.AddRange will only call EnsureCapacity, if there is a need for it. Small source code cleanup. mlemanczyk 2023-01-22 23:45:54 +01:00
  • 7aec77e674 Recyclable list initializations fixed to pass the no. of items, not block size. mlemanczyk 2023-01-22 23:17:02 +01:00
  • f94e91c45d RecyclableList.AddRange(IEnumerable) made similar in behavior / optimizations to RecyclableArrayList. Variables named made similar. mlemanczyk 2023-01-22 23:16:21 +01:00
  • 7c78b6f87e RecyclableArrayList variables names standardized a little with RecyclableList. mlemanczyk 2023-01-22 23:13:00 +01:00
  • 576ac9ccfa RecyclableList.RemoveBlock renamed to ReleaseBlock. mlemanczyk 2023-01-22 01:06:21 +01:00
  • b3380b1f35 Small cleanup. RecyclableCollectionsBenchmarks properties & fields moved to RecyclableCollectionsBenchmark.cs file. mlemanczyk 2023-01-21 20:02:00 +01:00
  • 6ef79d2203 Solutions from RecyclableArreyList were copied to RecylableList. Initial version. mlemanczyk 2023-01-21 18:50:21 +01:00
  • 0c3847a9bf Fixing startup issue mlemanczyk 2023-01-16 22:58:12 +01:00
  • f3198a45a4 Smaller improvements and additional benchmarks setup mlemanczyk 2023-01-16 22:56:13 +01:00
  • bc4f0576de RecyclableArrayList parameterless constructor benchmarks added mlemanczyk 2023-01-16 22:55:47 +01:00
  • 4d1c59f672 Redundand benchmarks removed. mlemanczyk 2023-01-16 22:03:40 +01:00
  • cc364c5fd7 Create benchmarks updated. Global benchmark setup & cleanup added. mlemanczyk 2023-01-16 22:00:45 +01:00
  • 4bfb40007a Missing IList<T> interface added. Tiny cleanup. mlemanczyk 2023-01-15 20:19:01 +01:00
  • 8067bfb542 Tiny cleanup mlemanczyk 2023-01-15 20:13:49 +01:00
  • f500f846ac RecyclableArrayList.AddRange(IEnumerable<T>) performance improvements. ...WhenSourceIsIEnumerable benchmarks reworked to use real IEnumerable, which can't be typecasted to anything. mlemanczyk 2023-01-15 20:12:52 +01:00
  • bf2d966f28 RecyclableArrayList[int index] set performance improvement. Add marked for aggresive inlining. mlemanczyk 2023-01-15 17:49:18 +01:00
  • 63773415e7 Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added mlemanczyk 2023-01-15 12:24:05 +01:00
  • c48b4e2f56 Additional, optimized constructors & AddRange variants added to RecyclableArrayList. Benchmarks extended. mlemanczyk 2023-01-15 12:23:46 +01:00
  • 8984a3fac0 Additional, optimized constructors & AddRange variants added to RecyclableArrayList. Benchmarks extended. mlemanczyk 2023-01-15 12:23:46 +01:00
  • 878ec4924a RecyclableArrayList.Insert failing test fixed. Tiny cleanup. mlemanczyk 2023-01-14 20:31:57 +01:00
  • 7d72e1ea32 RecyclableArrayList.Insert performance improvements. Tiny cleanup. mlemanczyk 2023-01-14 20:03:15 +01:00
  • 164c435d98 RecyclableArrayList performance improvements mlemanczyk 2023-01-14 19:41:17 +01:00
  • eded9ac372 RecyclableArrayList performance improvements. Count made explicit property, because IL didn't inline the value. mlemanczyk 2023-01-14 18:45:34 +01:00
  • 4aa32a32f7 RecyclableArrayList performance improvements. mlemanczyk 2023-01-14 17:13:37 +01:00
  • 012fc3b21f RecyclableArrayList.AddRange added. Smaller perf improvements. mlemanczyk 2023-01-13 19:45:22 +01:00
  • 880abd605e RecyclableBlockList renamed to RecyclableArrayList for clarity. First set of optimizations and implementation. mlemanczyk 2023-01-11 21:21:42 +01:00
  • 8147c4ecbf Decoded on GetItem/SetItem performance. It's more stable & faster without them. mlemanczyk 2023-01-08 02:03:14 +01:00
  • 28b52c555d Constructors simpliefied. GetItem/SetItem replaced with direct field use for performance gain. SetNewLength optimized for 32-bit long arrays. mlemanczyk 2023-01-08 00:14:14 +01:00
  • 6246a38cbe Tiny update mlemanczyk 2023-01-07 20:52:26 +01:00
  • 93b8dc5317 Initial version of RecyclableBlockList implemented. Tests switched to xUnit in hope to avoid stability issues. mlemanczyk 2023-01-07 20:52:01 +01:00
  • aba28028b1 Performance & standardization improvements. Business logic fixes. RecyclableQueue & RecyclableStack added - pending improvements. mlemanczyk 2023-01-06 13:54:32 +01:00
  • 4e5835b20e Draft README.md version added. mlemanczyk 2023-01-06 13:49:56 +01:00
  • 0c2b8586bb Licensing simplified & moved to the root folder. mlemanczyk 2023-01-05 12:55:43 +01:00
  • 25884d9c2a Buy me a coffee image added & license updated with dontaion details. Licensing rules defined. mlemanczyk 2023-01-04 20:07:39 +01:00
  • eb6da461f9 NuGet package details fixed. mlemanczyk 2023-01-03 01:32:03 +01:00
  • cb6de2e542 License added to NuGet mlemanczyk 2023-01-03 01:19:33 +01:00
  • d913d4862f Package description updated. License.md added. mlemanczyk 2023-01-03 01:08:03 +01:00
  • 674aa00509 BlockUpdateEvent & UnblockUpdateEvent methods removed in favor for BeginUpdate & EndUpdate mlemanczyk 2023-01-03 01:00:39 +01:00
  • bf07e05488 Tests updated to match RecyclableSortedListTests. mlemanczyk 2023-01-03 00:43:28 +01:00
  • 984d951359 Merge branch 'main' of https://github.com/mlemanczyk/Recyclable.Collections mlemanczyk 2023-01-03 00:43:01 +01:00
  • fa3e78139e RecyclableSortedList added mlemanczyk 2023-01-03 00:42:43 +01:00
  • e617541c31 RecyclableSortedList added mlemanczyk 2023-01-03 00:42:43 +01:00
  • 81e064af68 License & Readme updated mlemanczyk 2023-01-03 00:42:15 +01:00
  • 89b193e664 NuGet generation on builds turned all. Tiny cleanup. mlemanczyk 2023-01-02 21:09:32 +01:00
  • 6a58917120 First implementation mlemanczyk 2023-01-02 01:32:29 +01:00
  • 98c02ef0ed Update README.md mlemanczyk 2023-01-01 23:38:41 +01:00
  • 3c903b2a56 Initial commit mlemanczyk 2023-01-01 19:04:37 +01:00