Commit Graph
100 Commits
Author SHA1 Message Date
mlemanczyk c97651eb5c Task creation benchmarks added. 2023-05-25 19:22:02 +02:00
mlemanczyk 29cb16793a RecyclableList.IndexOf performance improvements. 2023-05-25 19:21:41 +02:00
mlemanczyk c4e633e7d3 Additional benchmarks & benchmark params added 2023-05-25 19:14:48 +02:00
mlemanczyk 1fbf0ea1a1 Threshold limit for parallelization increased based on benchmark results. 2023-05-25 19:12:40 +02:00
mlemanczyk 9f0a4c39ba Tiny cleanup 2023-05-25 19:11:30 +02:00
mlemanczyk 8bef46f1cf Added support for running benchmarks without baseline. 2023-05-25 19:11:09 +02:00
mlemanczyk 853a69fa4d Tiny cleanup 2023-05-25 19:01:25 +02:00
mlemanczyk de3f06421f Milestones updated 2023-05-21 20:44:33 +02:00
mlemanczyk 1a723c6f4f RecyclableArrayList renamed to RecyclableList 2023-05-21 20:43:33 +02:00
mlemanczyk cf0c86d353 Tiny cleanup 2023-05-21 20:19:56 +02:00
mlemanczyk 9429218c62 RecyclableList renamed to RecyclableLongList. 2023-05-21 20:09:38 +02:00
mlemanczyk 0894dbd4bf Milestones updated 2023-05-21 19:50:09 +02:00
mlemanczyk 1af65c67c1 Milestones updated 2023-05-21 19:25:55 +02:00
mlemanczyk 6a9836b8ff Milestones updated 2023-05-21 19:20:09 +02:00
mlemanczyk 3328b256ff Milestones updated 2023-05-21 19:15:13 +02:00
mlemanczyk 8750b217a7 Readme improvements 2023-05-21 18:47:00 +02:00
mlemanczyk a7f3ee50ed README.md updated. Initial milestones defined. 2023-05-21 18:30:18 +02:00
mlemanczyk 24c2491df0 Cleanup of no longer needed classes. ParallelSynchronizationContext/-Pool renamed to IndexOfSynchronizationContext/-Pool. 2023-05-21 16:10:21 +02:00
mlemanczyk 9ece531129 VS code tasks update 2023-05-21 15:44:42 +02:00
mlemanczyk 643882fefa Tiny cleanup 2023-05-21 15:44:09 +02:00
mlemanczyk 98658e73fa The no. of max items count limited due to very long running times. 2023-05-21 15:43:33 +02:00
mlemanczyk 81948843be Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-05-21 15:42:43 +02:00
mlemanczyk b458f450fc RecyclableList.IndexOf performance improvements. 2023-05-21 15:42:32 +02:00
mlemanczyk 002e043b19 RecyclableList.IndexOf performance improvements. 2023-05-21 15:38:23 +02:00
mlemanczyk 209dac1808 Tiny cleanup 2023-05-21 15:09:01 +02:00
mlemanczyk 95e1932769 Compilation error fixed. 2023-05-21 14:57:50 +02:00
mlemanczyk 66d9d63f3b No. of items for slow benchmarks increased. 2023-05-21 14:56:17 +02:00
mlemanczyk 5ed87d6f95 New benchmark params added 2023-05-21 14:55:06 +02:00
mlemanczyk e79a4fd823 Block size adjustment to more realistic use cases 2023-05-21 14:51:14 +02:00
mlemanczyk 52715d9135 Default value added to allow skipping baseline benchmark. 2023-05-21 14:40:34 +02:00
mlemanczyk 2221f572c5 Changed order of properties to display better in benchmark results. 2023-05-21 14:36:34 +02:00
mlemanczyk 26f9666df6 Tiny cleanup 2023-05-21 02:37:16 +02:00
mlemanczyk fa8f1b029a RecyclableCollections.Benchmarks.IndexOf_BestAndWorstCases switched to use TestObjectCountForSlowMethods. 2023-05-21 02:24:23 +02:00
mlemanczyk dd5becfc29 Recyclable.Collections.Benchmarks.IndexOf_AllItems renamed to .IndexOf_BestAndWorstCases 2023-05-19 01:03:04 +02:00
mlemanczyk 1056e9b575 Default constructor added to RecyclableCollections benchmarks to allow lack of initialization when selected benchmarks are executed. 2023-05-13 20:51:29 +02:00
mlemanczyk 735503d664 Small RecyclableCollections.IndexOf benchmarks simplification 2023-05-13 20:43:24 +02:00
mlemanczyk d522535da5 RecyclableCollections.IndexOf benchmarks for all items reworked to search from the end, so that we measure the worst cases first. 2023-05-13 20:39:16 +02:00
mlemanczyk 53d759586e Small cleanup 2023-05-13 20:35:57 +02:00
mlemanczyk bb878caa39 Benchmarks reworked to save time on test data creation & have more comparable results against baseline. 2023-05-07 14:52:37 +02:00
mlemanczyk 73d3e32107 Benchmark performance improvements - pattern for all test cases prepared. 2023-05-03 15:19:56 +02:00
mlemanczyk 98cac9a563 Draft RecyclableArrayList performance improvements ported from RecyclableList. 2023-05-03 12:48:36 +02:00
mlemanczyk 3db10d7602 RecyclableList.IndexOf parallel performance improvements. 2023-05-03 12:36:37 +02:00
mlemanczyk 99600d4854 Merge branch 'recyclable-block-list-added' of https://github.com/mlemanczyk/Recyclable.Collections into recyclable-block-list-added 2023-05-01 17:45:15 +02:00
mlemanczyk 52dc663ada Several hints removed & code cleaned up. 2023-05-01 17:45:03 +02:00
mlemanczyk dfb671aff7 Several hints removed & code cleaned up. 2023-05-01 17:37:31 +02:00
mlemanczyk b038bcfdc9 Local function replaced with Lambda for readability in RecyclableList.DoIndexOfParallel. 2023-05-01 12:39:23 +02:00
mlemanczyk 948156b897 RecyclableList.IndexOf performance improvements. 2023-05-01 11:48:48 +02:00
mlemanczyk 8aebac97b5 Unnecessary arithmetic overflow checks removed. 2023-05-01 01:56:50 +02:00
mlemanczyk c1326b8dea RecyclableList.ItemNotFoundIndexLong const added to limit value conversions. 2023-05-01 01:54:52 +02:00
mlemanczyk f934755d79 RecyclableList.DoLongIndexOfParallel performance improvements. 2023-04-30 23:59:38 +02:00
mlemanczyk 13fa23ac13 RecyclableArrayList.AsArray() method converted to property for better performance. 2023-04-30 22:21:58 +02:00
mlemanczyk 3b73a2d877 Benchmark results updated. 2023-04-30 22:14:36 +02:00
mlemanczyk 2d55e537d0 Tiny cleanup 2023-04-30 22:13:21 +02:00
mlemanczyk 85c92ee17d Benchmarks updated. 2023-04-30 22:10:39 +02:00
mlemanczyk 8a500df8d2 SpanVsArray benchmark results added. 2023-04-30 22:06:59 +02:00
mlemanczyk ac6d71686c ItemRangesIterator tests re-enabled. 2023-04-30 22:04:01 +02:00
mlemanczyk 9d2cb050d2 RecyclableList.IndexOf POC benchmarks added. 2023-04-30 22:03:30 +02:00
mlemanczyk 33b4837411 BlockSizePow2BitShift added to PocBenchmarkBase for simpler reuse. 2023-04-30 21:58:38 +02:00
mlemanczyk ef670dbf2d Additional test object count combinations added. 2023-04-30 21:54:51 +02:00
mlemanczyk 8d199d83e3 Visual Studio Code settings added. 2023-04-30 21:52:46 +02:00
mlemanczyk 112a482583 Additional POC benchmarks added. 2023-04-30 21:51:46 +02:00
mlemanczyk 8ccd129bd6 RecyclableList.IndexOf benchmark for all items added 2023-04-30 21:44:17 +02:00
mlemanczyk 0951b442ae Compilation warnings resolved 2023-04-30 21:42:06 +02:00
mlemanczyk 450701f800 RecyclableList.EnsureCapacity v3 benchmarks added. 2023-04-30 21:38:45 +02:00
mlemanczyk 46b074a35c Benchmark organization improvements to reuse code. 2023-04-30 21:24:12 +02:00
mlemanczyk c45af6a884 Test data item type changed to "long" for performance reasons. 2023-04-30 21:01:28 +02:00
mlemanczyk abfe476573 RecyclableList.MemoryBlocks renamed to AsArray. 2023-04-25 02:03:13 +02:00
mlemanczyk 49682fd733 Tiny cleanup 2023-04-25 01:55:39 +02:00
mlemanczyk aa78a2ba40 Dirty RecyclableList.IndexOf parallelization implemented. 2023-04-25 01:51:22 +02:00
mlemanczyk 1bdf0404e4 RecyclableList._blockSizePow2Shift renamed to _blockSizePow2BitShift. Public property added to help avoiding recalculations. 2023-04-25 01:42:56 +02:00
mlemanczyk 79cb86fbce Added missing cell clear to release the requested array, if needed. 2023-04-18 00:21:01 +02:00
mlemanczyk 5ac21f5d18 RecyclableList.Resize & .Clear performance improvements. 2023-04-18 00:20:07 +02:00
mlemanczyk e5c0b2a231 RecyclableList._blockPoolingRequired removed for better performance. 2023-04-17 01:48:02 +02:00
mlemanczyk 4600c4521e RecyclableList.Resize performance improvements. 2023-04-17 00:11:23 +02:00
mlemanczyk 60494c3219 RecyclableList.Resize performance improvements. 2023-04-16 15:32:03 +02:00
mlemanczyk ed11e42b48 BoolOrComparePoc benchmarks added to confirm findings from RecyclableList.EnsureCapacity runs. 2023-04-13 03:54:01 +02:00
mlemanczyk 22060c4390 Tiny cleanup 2023-04-12 23:57:17 +02:00
mlemanczyk ef09143eb1 Benchmark results updated. 2023-04-12 23:56:07 +02:00
mlemanczyk 6fb6ec3f07 RecyclableList performance improvements. 2023-04-12 23:44:07 +02:00
mlemanczyk 9609b77a52 Additional benchmarks added. 2023-04-12 23:39:25 +02:00
mlemanczyk 3cb0a47c60 RecyclableCollectionsBenchmarks split into multiple files. 2023-04-12 23:36:11 +02:00
mlemanczyk 0449700244 RecyclableList.EnsureCapacity performance improvement. 2023-04-11 21:24:28 +02:00
mlemanczyk 9cb9aa8bf0 ArraySizeLimitPocBenchmarks reworked. 2023-04-11 20:38:25 +02:00
mlemanczyk 098d862a3c x64 platform added. 2023-04-11 20:33:59 +02:00
mlemanczyk 595566d0b9 The current maximum pooled block size, from testing, added. 2023-04-11 20:31:34 +02:00
mlemanczyk 7c7740b27c RecyclableList performance improvements to pre-calculate the value of _blockSize - 1 & store it under _blockSizeMinus1 2023-04-11 20:30:34 +02:00
mlemanczyk abbd568c6b RecyclableList.LastTakenBlockIndex renamed to LastBlockWithData. Tiny cleanup. 2023-04-11 20:24:26 +02:00
mlemanczyk 2d7e62df72 Benchmarks mostly reorganized & cleaned up. Simplified for re-runs. 2023-04-11 16:42:06 +02:00
mlemanczyk eae5cb4452 Changed all benchmarks to be non-baseline by default. Missing parameters added everywhere. 2023-04-11 00:46:22 +02:00
mlemanczyk 24a14f810b Additional benchmarks added. One-off quick smoke test added. 2023-04-11 00:16:05 +02:00
mlemanczyk 91515cb76b Typo fixed. Basic RecyclableList.Resize documentation added. 2023-04-11 00:13:59 +02:00
mlemanczyk 0063f11ff5 Clear mode set to ClearMode.Always in PooledList benchmarks to have fair comparison on worst case. 2023-04-11 00:12:53 +02:00
mlemanczyk 767892a9eb Array_IndexOf_FirstItems benchmark added. 2023-04-10 23:07:51 +02:00
mlemanczyk 6b2db42d0d Partial support for items counts exceeding int.MaxValue 2023-04-10 22:56:02 +02:00
mlemanczyk fdea416dc1 RecyclableList[index] tests added for get. 2023-04-10 22:37:15 +02:00
mlemanczyk 4165c9c6d9 RecyclableList.EnsureCapacity & .Resize performance improvements. Custom ArrayPool<T> added. 2023-04-10 22:35:00 +02:00
mlemanczyk 7f84cdc636 RecyclableList.Resize performance improvements. 2023-04-09 03:10:46 +02:00
mlemanczyk a132fdc775 RecyclableList.EnsureCapacity performance improvements. 2023-04-09 01:54:52 +02:00
mlemanczyk ed76bd99ba Failing tests fixed. 2023-04-09 01:51:58 +02:00
mlemanczyk 298af4e718 Arithmetic overflow protections added. 2023-04-09 00:50:12 +02:00