Commit Graph
275 Commits
Author SHA1 Message Date
Marek Lemańczyk be9dfaf43a Code cleanup. Unnecessary versions removed. 2023-03-03 01:31:14 +01:00
Memek cbd9850f58 RecyclableCollectionsBenchmarks.List_Contains_FirstItems, . List_Contains_LastItems, .RecyclableList_Contains_FirstItems, .RecyclableList_Contains_LastItems fixed to always search for at least 1 element. 2023-03-02 18:54:35 +01:00
Memek 248dff8fda BenchmarkBase fixed to cover case when BockSize is 0. 2023-03-02 17:47:25 +01:00
Marek Lemańczyk 3552dd00d1 Test object count increased to 100_000 to better cover cases. 2023-03-01 23:09:48 +01:00
Marek Lemańczyk bbbc47bd42 BenchmarkBase.BlockSize parameterized. 2023-03-01 00:45:28 +01:00
Marek Lemańczyk 4ea8e20f0a Compilation error fix when using manual benchmark execution. Additional benchmark method added. 2023-03-01 00:44:08 +01:00
Marek Lemańczyk 692891cca9 Pass block size when creating RecyclableList. 2023-03-01 00:42:38 +01:00
Marek Lemańczyk f38ee0d498 Contains benchmarks will now always search for 10% of the test objects count. 2023-03-01 00:41:16 +01:00
Marek Lemańczyk 573e387a75 RecyclableList.Contains performance improvement +1%. Other versions kept for reference, if needed. Pending cleanup. 2023-03-01 00:25:06 +01:00
Marek Lemańczyk 5d9526a9f9 Fixed _lastBlockIndex assignment. 2023-03-01 00:22:27 +01:00
Memek 681cd179d2 Test RecyclableArrayList.ContainsShouldNotFindNonExistingItems and ContainsShouldNotFindAnythingWhenListEmpty added. 2023-02-08 22:50:08 +01:00
Memek 50353aecc2 Test RecyclableArrayList.ConstructorShouldAcceptDuplicates added. 2023-02-08 16:31:13 +01:00
Memek d4a63d5d33 Test RecyclableList.ConstructorSourceShouldInitializeList added. 2023-02-08 15:43:42 +01:00
Memek 230401a56b Test RecyclableList.LongIndexOfShouldReturnCorrectIndexes added. 2023-02-08 14:46:47 +01:00
Memek a37f572518 RecyclableList.InsertAt test added. 2023-02-07 20:18:58 +01:00
Memek 32d915087f Test RecyclableList.AddRangeShouldAddItemsInCorrectOrderWhenSourceIsArray and AddRangeShouldAddItemsInCorrectOrderWhenSourceIsList added. 2023-02-07 17:08:01 +01:00
Memek 1eefa2d84f AddCountShouldSuceed test fixed. 2023-02-07 17:01:50 +01:00
Memek 37b0114779 Test RecyclabeArrayList.AddShouldAcceptDuplicates added. 2023-02-06 21:11:21 +01:00
Memek 23e92b0521 Tests for RecyclableArrayList.Contains and RecyclableList.Clear added. 2023-02-06 18:02:50 +01:00
Memek 360f1c9880 Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-02-06 15:32:31 +01:00
Memek 97c0b87c31 Added new tests to RecyclableArrayListTest for Clear and IndexOf. 2023-02-06 15:28:25 +01:00
Marek Lemańczyk 59defd435c Benchmarks improved. Contains & IndexOf separated into 2 groups: first 1 000 items & last 1 000 items. 2023-02-05 22:58:48 +01:00
Marek Lemańczyk 743e88f0e6 RecyclableList.Contains & .IndexOf fixed. Tests modified to validate operations on multiple blocks. 2023-02-05 19:49:28 +01:00
Marek Lemańczyk f00849614f RecyclableList.IndexOf reworked for performance improvement. 2023-02-05 18:59:34 +01:00
Marek Lemańczyk 10ae744875 RecyclableList.Contains reworked for performance improvements. 69% vs List.Contains 2023-02-05 17:58:29 +01:00
mlemanczyk 91abf1a614 RecyclableList.Contains reworked - first version 2023-02-01 23:29:23 +01:00
mlemanczyk f3381942bc Tiny code standardization 2023-01-31 20:24:30 +01:00
mlemanczyk 2dc6d74b0b Fix to use the new _blockSize when we add capacity 2023-01-31 20:23:28 +01:00
mlemanczyk 55dc1459c7 Incorrect indexes fixed. 2023-01-31 20:22:04 +01:00
mlemanczyk 30c9a6cedc RecyclableListExtensions.CopyTo fixed 2023-01-31 02:21:42 +01:00
mlemanczyk 2be660e7f0 Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-01-29 21:39:19 +01:00
mlemanczyk c923383a71 Tiny code readability improvement 2023-01-29 21:39:16 +01:00
mlemanczyk 32fcc1ad04 Tiny code readability improvement 2023-01-29 21:36:30 +01:00
mlemanczyk 85fcf69c75 Local int vars converted to stackalloc'ed array for performance measures. Recyclable.Add benchmarks yield 0.42 - 0.45 vs List.Add 2023-01-29 21:34:14 +01:00
mlemanczyk 7f90fcc969 Tiny cleanup & readability improvement 2023-01-29 21:32:04 +01:00
mlemanczyk b24adc6d93 Unnecessary local var removed. 2023-01-29 21:31:25 +01:00
mlemanczyk 650a63828f Unnecessary _capacity assignment removed. It's already set by RecyclableList.Clear. 2023-01-29 21:30:15 +01:00
mlemanczyk d07c77c906 Unnecessary field initializer removed 2023-01-29 21:29:11 +01:00
mlemanczyk 4f920cf89a RecyclableList.Count redirected to _longCount for better performance 2023-01-29 21:26:22 +01:00
mlemanczyk 71544f8a47 Finished RecyclableList implementation of array pool overriding. 2023-01-29 18:05:27 +01:00
mlemanczyk 76b03345a4 Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-01-29 18:04:34 +01:00
mlemanczyk ea29108731 Code cleanup - renaming blockSize => minBlockSize to better reflect the use. 2023-01-29 18:04:25 +01:00
mlemanczyk 463ad3a365 Code cleanup - renaming blockSize => minBlockSize to better reflect the use. 2023-01-29 14:50:47 +01:00
mlemanczyk b01dc63165 Too early typecasting fixed. 2023-01-29 14:50:00 +01:00
mlemanczyk 326999c682 Performance improvement - reuse local var 2023-01-29 14:48:30 +01:00
mlemanczyk a3335bf4e7 IF's inverted to match expected most frequent scenarios. 2023-01-29 14:20:59 +01:00
mlemanczyk 6270f79291 Switches converted back to IFs. They are IF's in IL anyway. 2023-01-29 14:19:59 +01:00
mlemanczyk 16acdff58a Code readability - newArraySpan renamed => newMemoryBlocksSpan to match naming convention 2023-01-29 14:13:31 +01:00
mlemanczyk a9012dc25d Tiny cleanup. Declaration moved closer to usage. 2023-01-29 14:09:41 +01:00
mlemanczyk 96f4912cd3 Unnecessary case removed. 2023-01-29 14:07:34 +01:00