mlemanczyk
d545d31aea
Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added
2023-01-28 14:19:56 +01:00
mlemanczyk
c72b18ad1d
Source code cleanup
2023-01-28 14:19:50 +01:00
mlemanczyk
10717c4bd4
Source code cleanup
2023-01-28 14:19:31 +01:00
mlemanczyk
680776f259
Performance improvement - Removing unneeded check. There is no case the new block count == current block count.
2023-01-28 14:18:34 +01:00
mlemanczyk
35ccb12efc
Performance improvements
2023-01-28 14:05:30 +01:00
mlemanczyk
b9b4c40cf9
Performance improvement. Removing unnecessary var.
2023-01-27 23:48:56 +01:00
mlemanczyk
d4440134c8
ref removed. I seem to get better & more stable benchmarks without it.
2023-01-27 23:32:28 +01:00
mlemanczyk
4fcf3f2362
public MemoryBlocks property added to allow more efficient use.
2023-01-27 22:33:14 +01:00
mlemanczyk
c283cb562c
Read.me extended & updated.
2023-01-27 22:31:42 +01:00
mlemanczyk
f9b2d82629
RecyclableList.Clear, .RemoveAt, .RemoveBlock, .SetNewLength, Dispose performance improvements.
2023-01-25 22:48:37 +01:00
mlemanczyk
032908bc7d
_lastBlockIndex & _lastItemIndex fields added for performance gain. Tiny cleanup.
2023-01-24 22:41:43 +01:00
mlemanczyk
9db490d8e9
Fixed problem with RecyclableList.RemoveAt returning to the pool always the same block
2023-01-24 02:10:26 +01:00
mlemanczyk
43c2c6f13a
if converted to switch for performance improvements.
2023-01-23 01:40:11 +01:00
mlemanczyk
f45b6aac98
RecyclableList performance optimizations.
2023-01-23 01:22:41 +01:00
mlemanczyk
30dfd97336
ReleaseBlock method removed.
2023-01-23 00:16:02 +01:00
mlemanczyk
64be78d1c6
Benchmark list updated for current runs.
2023-01-23 00:15:25 +01:00
mlemanczyk
cbac777e43
Using cleanup
2023-01-22 23:46:20 +01:00
mlemanczyk
1691f07fbe
RecyclableList.AddRange will only call EnsureCapacity, if there is a need for it. Small source code cleanup.
2023-01-22 23:45:54 +01:00
mlemanczyk
7aec77e674
Recyclable list initializations fixed to pass the no. of items, not block size.
2023-01-22 23:17:02 +01:00
mlemanczyk
f94e91c45d
RecyclableList.AddRange(IEnumerable) made similar in behavior / optimizations to RecyclableArrayList. Variables named made similar.
2023-01-22 23:16:21 +01:00
mlemanczyk
7c78b6f87e
RecyclableArrayList variables names standardized a little with RecyclableList.
2023-01-22 23:13:00 +01:00
mlemanczyk
576ac9ccfa
RecyclableList.RemoveBlock renamed to ReleaseBlock.
...
RecyclableList.Clear will no longer create new arrays. It will only release the array to the pool & decrease capacity.
Fixed possibly infinite loop in Clear.
2023-01-22 01:06:21 +01:00
mlemanczyk
b3380b1f35
Small cleanup. RecyclableCollectionsBenchmarks properties & fields moved to RecyclableCollectionsBenchmark.cs file.
2023-01-21 20:02:00 +01:00
mlemanczyk
6ef79d2203
Solutions from RecyclableArreyList were copied to RecylableList. Initial version.
2023-01-21 18:50:21 +01:00
mlemanczyk
0c3847a9bf
Fixing startup issue
2023-01-16 22:58:12 +01:00
mlemanczyk
f3198a45a4
Smaller improvements and additional benchmarks setup
2023-01-16 22:56:13 +01:00
mlemanczyk
bc4f0576de
RecyclableArrayList parameterless constructor benchmarks added
2023-01-16 22:55:47 +01:00
mlemanczyk
4d1c59f672
Redundand benchmarks removed.
2023-01-16 22:03:40 +01:00
mlemanczyk
cc364c5fd7
Create benchmarks updated. Global benchmark setup & cleanup added.
2023-01-16 22:00:45 +01:00
mlemanczyk
4bfb40007a
Missing IList<T> interface added. Tiny cleanup.
2023-01-15 20:19:01 +01:00
mlemanczyk
8067bfb542
Tiny cleanup
2023-01-15 20:13:49 +01:00
mlemanczyk
f500f846ac
RecyclableArrayList.AddRange(IEnumerable<T>) performance improvements. ...WhenSourceIsIEnumerable benchmarks reworked to use real IEnumerable, which can't be typecasted to anything.
2023-01-15 20:12:52 +01:00
mlemanczyk
bf2d966f28
RecyclableArrayList[int index] set performance improvement. Add marked for aggresive inlining.
2023-01-15 17:49:18 +01:00
mlemanczyk
63773415e7
Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added
2023-01-15 12:24:05 +01:00
mlemanczyk
c48b4e2f56
Additional, optimized constructors & AddRange variants added to RecyclableArrayList. Benchmarks extended.
2023-01-15 12:24:00 +01:00
mlemanczyk
8984a3fac0
Additional, optimized constructors & AddRange variants added to RecyclableArrayList. Benchmarks extended.
2023-01-15 12:23:46 +01:00
mlemanczyk
878ec4924a
RecyclableArrayList.Insert failing test fixed. Tiny cleanup.
2023-01-14 20:31:57 +01:00
mlemanczyk
7d72e1ea32
RecyclableArrayList.Insert performance improvements. Tiny cleanup.
2023-01-14 20:03:15 +01:00
mlemanczyk
164c435d98
RecyclableArrayList performance improvements
2023-01-14 19:41:17 +01:00
mlemanczyk
eded9ac372
RecyclableArrayList performance improvements. Count made explicit property, because IL didn't inline the value.
2023-01-14 18:45:34 +01:00
mlemanczyk
4aa32a32f7
RecyclableArrayList performance improvements.
2023-01-14 17:13:37 +01:00
mlemanczyk
012fc3b21f
RecyclableArrayList.AddRange added. Smaller perf improvements.
2023-01-13 19:45:22 +01:00
mlemanczyk
880abd605e
RecyclableBlockList renamed to RecyclableArrayList for clarity. First set of optimizations and implementation.
2023-01-11 21:21:42 +01:00
mlemanczyk
8147c4ecbf
Decoded on GetItem/SetItem performance. It's more stable & faster without them.
2023-01-08 02:03:14 +01:00
mlemanczyk
28b52c555d
Constructors simpliefied. GetItem/SetItem replaced with direct field use for performance gain. SetNewLength optimized for 32-bit long arrays.
2023-01-08 00:14:14 +01:00
mlemanczyk
6246a38cbe
Tiny update
2023-01-07 20:52:26 +01:00
mlemanczyk
93b8dc5317
Initial version of RecyclableBlockList implemented.
...
Tests switched to xUnit in hope to avoid stability issues.
2023-01-07 20:52:01 +01:00
mlemanczyk
aba28028b1
Performance & standardization improvements.
...
Business logic fixes.
RecyclableQueue & RecyclableStack added - pending improvements.
2023-01-06 13:54:32 +01:00
mlemanczyk
4e5835b20e
Draft README.md version added.
2023-01-06 13:49:56 +01:00
mlemanczyk
0c2b8586bb
Licensing simplified & moved to the root folder.
2023-01-05 12:55:43 +01:00