Commit Graph
100 Commits
Author SHA1 Message Date
Marek Lemańczyk 2546d6bf3f Optimize hash set and stack AddRange for RecyclableStack 2025-07-17 00:21:30 +02:00
Marek Lemańczyk 2de3736f94 Optimize span-based stack AddRange 2025-07-17 00:21:25 +02:00
Marek Lemańczyk 136c6408f3 Fix stack AddRange capacity growth 2025-07-17 00:21:20 +02:00
Marek Lemańczyk 1aedfb2cbc Optimize long-list AddRange for stack 2025-07-17 00:21:15 +02:00
Marek Lemańczyk 4274f4dcbc Fix stack enumerator for empty chunks 2025-07-16 00:20:25 +02:00
Marek Lemańczyk 7e71abdcf2 Merge pull request #21 from mlemanczyk/codex/update-recyclablestack-with-addrange-methods
AddRange performance tweaks for RecyclableStack
2025-07-15 00:46:49 +02:00
Marek Lemańczyk ffcbfb0493 Improve AddRange for ICollection 2025-07-15 00:40:06 +02:00
Marek Lemańczyk 037271acc8 Merge pull request #20 from mlemanczyk/d2kqjh-codex/dodaj-oznaczenia-wersjonowania-w-recyclablelonglist
Implement versioned enumerator retrieval
2025-07-14 23:13:48 +02:00
Marek Lemańczyk 25bf466f77 Optimize indexing helpers 2025-07-14 23:02:13 +02:00
Marek Lemańczyk c2affa4ad7 Implement versioned enumerator retrieval 2025-07-14 22:43:43 +02:00
Marek Lemańczyk a18caf42d6 Merge pull request #19 from mlemanczyk/codex/dodaj-oznaczenia-wersjonowania-w-recyclablelonglist
Add versioning to RecyclableLongList
2025-07-14 22:40:13 +02:00
Marek Lemańczyk 1e64c71af3 Add versioning support for RecyclableLongList 2025-07-14 22:01:03 +02:00
Marek Lemańczyk ed23fd7f69 Merge pull request #18 from mlemanczyk/codex/stworz-generator-kodu-zrodowego-w-c#
Mark version increments for source generation
2025-07-14 21:34:13 +02:00
Marek Lemańczyk 29a5db476e Mark version increments with directives and update generator 2025-07-14 21:28:52 +02:00
Marek Lemańczyk 1abc07e9a2 Merge pull request #17 from mlemanczyk/codex/add-optimized-addrange-methods
Add optimized AddRange overloads
2025-07-14 19:40:34 +02:00
Marek Lemańczyk dc0b3b92e5 Remove AddRange interface and optimize casting 2025-07-14 19:27:41 +02:00
Marek Lemańczyk b571a2df59 Use interface for AddRange optimizations 2025-07-14 19:27:33 +02:00
Marek Lemańczyk 1d4d5e9217 Avoid dynamic in AddRange detection 2025-07-14 19:27:25 +02:00
Marek Lemańczyk 976c5eb78b Add missing AddRange overloads for dictionary and sorted list 2025-07-14 18:17:37 +02:00
Marek Lemańczyk 40074ce368 Merge pull request #16 from mlemanczyk/codex/dodaj-przeciazenia-metod-addrange
Add optimized AddRange overloads
2025-07-14 17:46:21 +02:00
Marek Lemańczyk f4e2285734 Add optimized AddRange overloads for recyclable collections 2025-07-14 17:30:16 +02:00
Marek Lemańczyk 35f1124d6f Merge branch 'main' of https://github.com/mlemanczyk/Recyclable.Collections 2025-07-14 17:09:03 +02:00
Marek Lemańczyk 801ab88c01 Specification for agents updated. 2025-07-14 17:07:37 +02:00
Marek Lemańczyk e1298c817d Merge pull request #15 from mlemanczyk/codex/implement-recyclablesorteddictionary-class
Add RecyclableSortedDictionary
2025-07-14 16:31:41 +02:00
Marek Lemańczyk 66443480b7 Merge pull request #14 from mlemanczyk/codex/add-recyclablesortedlist-implementation-and-tests
Add recyclable sorted list
2025-07-14 16:31:14 +02:00
Marek Lemańczyk 941cf4f3fd Add RecyclableSortedDictionary with tests 2025-07-14 16:25:29 +02:00
Marek Lemańczyk 0d28f6515d Implement recyclable sorted list using pooled arrays 2025-07-14 16:24:24 +02:00
Marek Lemańczyk 0496b63e5a Specification for agents updated 2025-07-14 16:23:11 +02:00
Marek Lemańczyk 9aa96ccb19 Merge pull request #13 from mlemanczyk/codex/analyze-tests-for-new-generic-classes
Add dataset coverage and fix stack pop test
2025-07-14 13:55:13 +02:00
Marek Lemańczyk 53c34d0fa7 Fix stack test for empty pop 2025-07-14 13:49:26 +02:00
Marek Lemańczyk 80b4b0e890 Merge pull request #12 from mlemanczyk/codex/implement-recyclablesortedsett
Implement RecyclableSortedSet
2025-07-14 11:43:26 +02:00
Marek Lemańczyk 9133867d39 Add sort tests for RecyclableLongList 2025-07-14 11:34:12 +02:00
Marek Lemańczyk 80499d0936 Add RecyclableSortedSet and long list sort extensions 2025-07-14 11:22:58 +02:00
Marek Lemańczyk 06987cfb0f Merge pull request #11 from mlemanczyk/codex/implementuj-recyclablepriorityqueuet-z-testami
Implement RecyclablePriorityQueue
2025-07-14 10:39:35 +02:00
Marek Lemańczyk 8ff09f12a5 Add RecyclablePriorityQueue with tests 2025-07-14 10:31:51 +02:00
Marek Lemańczyk 7128a73e2e Merge pull request #10 from mlemanczyk/codex/zaimplementuj-recyclablehashsett
Fix initial bucket allocation for HashSet
2025-07-14 10:04:05 +02:00
Marek Lemańczyk a97a81b50c Remove unreachable bucket pooling check 2025-07-14 10:02:05 +02:00
Marek Lemańczyk f203f19312 Merge pull request #9 from mlemanczyk/codex/dodaj-klase-recyclabledictionary
Implement RecyclableDictionary with array-only storage
2025-07-14 06:26:32 +02:00
Marek Lemańczyk f9af1086e5 Use pooled arrays in RecyclableDictionary 2025-07-14 06:24:40 +02:00
Marek Lemańczyk 0f2d05f60d Simplify block allocation logic 2025-07-14 06:05:08 +02:00
Marek Lemańczyk 98c24430ba Merge pull request #8 from mlemanczyk/codex/zaimplementuj-recyclablequeue-z-linkedlistt
Fix missing blank line in RecyclableLinkedList
2025-07-14 02:31:22 +02:00
Marek Lemańczyk 6934dbd02e Fix blank line after if block in RecyclableLinkedList 2025-07-14 02:29:00 +02:00
Marek Lemańczyk 6f9ffd7916 Merge pull request #7 from mlemanczyk/codex/implementuj-klase-recyclablequeue
Implement queue using pooled chunks
2025-07-14 00:30:50 +02:00
Marek Lemańczyk 713a8ffdba Rename queue chunk to BiDirectional prefix 2025-07-14 00:28:03 +02:00
Marek Lemańczyk 3a712dbe57 Implement chunk-based queue 2025-07-13 23:59:39 +02:00
Marek Lemańczyk 93261808aa Merge pull request #6 from mlemanczyk/codex/optymalizuj-klase-recyclablestack-dla-wydajnosci
Document test workflow update
2025-07-13 22:30:28 +02:00
Marek Lemańczyk 770ae2d2f6 Document test command usage and update workflow 2025-07-13 22:28:21 +02:00
Marek Lemańczyk e9887957f9 Merge pull request #5 from mlemanczyk/codex/zmodyfikuj-klase-chunk-i-zaktualizuj-agents.md
Polish chunk API docs and style
2025-07-13 20:50:15 +02:00
Marek Lemańczyk fc0afdcca8 Finalize chunk APIs 2025-07-13 20:49:29 +02:00
Marek Lemańczyk aa52bddd66 Merge pull request #4 from mlemanczyk/codex/implementuj-klase-recyclablestack
Refactor stack enumeration
2025-07-12 03:22:12 +02:00
Marek Lemańczyk ac163014d8 Add chunk pooling and optimize stack growth 2025-07-12 03:17:00 +02:00
Marek Lemańczyk 1b4b9f534b Align stack enumerator with .NET Stack 2025-07-12 02:46:17 +02:00
Marek Lemańczyk 210f0df68c Merge pull request #3 from mlemanczyk/codex/add-nuget-package-links-to-agents.md-and-readme.md
Add NuGet package links
2025-07-10 13:24:27 +02:00
Marek Lemańczyk 64482ca13c Add NuGet package links 2025-07-10 13:23:53 +02:00
Marek Lemańczyk 21634eca68 Merge pull request #2 from mlemanczyk/codex/zmodyfikuj-repozytoria-na-.net-8.0
Remove .NET 9 target frameworks
2025-07-10 13:05:28 +02:00
Marek Lemańczyk a9ee409a18 Remove .NET 9 targets 2025-07-10 13:04:33 +02:00
Marek Lemańczyk 6944fe25b3 Merge pull request #1 from mlemanczyk/codex/sprawdz-metody-listt-w-kolekcjach
Add EnsureCapacity to RecyclableList
2025-07-10 12:17:35 +02:00
Marek Lemańczyk 29b809cead Add .NET 8 and 9 target frameworks 2025-07-10 12:16:48 +02:00
Marek Lemańczyk 877b363381 Add EnsureCapacity method 2025-07-10 12:03:34 +02:00
Marek Lemańczyk c3205debed Create dotnet.yml pipeline 2024-01-18 00:00:15 +01:00
mlemanczyk 0159042755 Release 0.0.6 2023-10-08 21:28:43 +02:00
mlemanczyk 2740a60b80 Failing tests fixed. 2023-10-08 19:20:08 +02:00
mlemanczyk d4d1364628 "checked" added/removed, as applicable. Span converted to ReadOnlySpan, where possible. Calls to ReadOnlySpan/Span constructors converted to type-casting, where possible. 2023-10-08 19:01:26 +02:00
mlemanczyk 39d63d1d65 << protected with "checked", where needed. 2023-10-07 14:04:33 +02:00
mlemanczyk 262590ed6e List<T> compatibility methods implemented. Unit tests extended. README.md updated. 2023-10-07 13:35:48 +02:00
mlemanczyk e6e7b4995a README.md updated. 2023-09-25 22:14:43 +02:00
mlemanczyk 2ff1aab655 Revert "Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance."
This reverts commit 22d8593e1f.
2023-09-17 13:15:17 +02:00
mlemanczyk 22d8593e1f Support for custom boundaries implemented. v1 - will be reverted due to 5x slower performance. 2023-09-17 13:12:16 +02:00
mlemanczyk 1ded5de37a Benchmarks.md updated. 2023-09-17 00:45:01 +02:00
mlemanczyk b0302e6f32 Merge branch 'add-support-for-ulong-indexing' of https://github.com/mlemanczyk/Recyclable.Collections into add-support-for-ulong-indexing 2023-09-16 21:44:48 +02:00
mlemanczyk 771856f6f2 Benchmarks.md updated. 2023-09-16 21:42:46 +02:00
mlemanczyk a1c620f5a0 Parallel execution disabled to avoid random failures due to race condition. 2023-09-16 21:42:24 +02:00
mlemanczyk b334d8f19c Tiny cleanup. Order in file of RemoveBlock fixed. 2023-09-16 21:41:38 +02:00
mlemanczyk ec7835715c Small cleanup. Names simplified. 2023-09-16 21:41:00 +02:00
mlemanczyk b9a0589597 Micro improvements to get even a bit smaller code size. 2023-09-16 21:24:06 +02:00
mlemanczyk 68582f0ffd RecyclableLongList.Contains fixed to cover border cases. Failing tests fixed. 2023-09-16 21:20:40 +02:00
mlemanczyk 4b2722f15a SetupBlockArrayPooling method removed for better performance. 2023-09-16 21:14:58 +02:00
mlemanczyk 56f79c4f21 .AddRange methods moved to their own classes, for better method resolution times. 2023-09-16 21:09:42 +02:00
mlemanczyk 5ee8a8c03f Small cleanup. Unneeded methods removed. 2023-09-16 20:58:43 +02:00
mlemanczyk 53bed6e187 New POC benchmarks added. 2023-09-16 20:36:37 +02:00
mlemanczyk 663abee724 Parameter value updated. 2023-09-16 20:35:36 +02:00
mlemanczyk 679959c6f6 Small improvement to benchmarks to pre-calculate block size, avoiding impact on benchmarks. 2023-09-16 20:35:16 +02:00
mlemanczyk 2e1abeaab9 Small cleanup 2023-09-16 20:33:11 +02:00
mlemanczyk b9933d377b Small cleanup 2023-09-16 20:24:32 +02:00
mlemanczyk 9f5871829d RecyclableLongList.ReservedBlockCount removed to limit size & improve performance. 2023-09-11 21:09:32 +02:00
mlemanczyk 988a51a431 README.md updated. 2023-09-11 20:34:51 +02:00
mlemanczyk 4ffcc9109b Merge branch 'main' of https://github.com/mlemanczyk/Recyclable.Collections 2023-09-10 18:04:19 +02:00
mlemanczyk ebdb805ee9 Release 0.0.5 2023-09-10 18:02:52 +02:00
mlemanczyk 4fad5de302 Release 0.0.5 2023-09-10 17:58:45 +02:00
mlemanczyk 557fb9a90b Compilation error fixed. 2023-09-10 17:53:52 +02:00
mlemanczyk 3652888127 Accidental change reversed. 2023-09-10 17:44:32 +02:00
mlemanczyk 1141f2b844 Benchmarks.md partially updated. 2023-09-10 17:44:14 +02:00
mlemanczyk 4ec3b81460 README.md updated. 2023-09-10 17:43:41 +02:00
mlemanczyk a315ff80d5 Unit tests extended. Missing .ToRecyclableList() & .ToRecyclableLongList() variants added. Support for all major interfaces finished. README.md updated. 2023-09-10 17:42:08 +02:00
mlemanczyk 9cd2096783 RecyclableLongList.Enumerator restored as the issue was somewhere else. 2023-09-10 12:28:29 +02:00
mlemanczyk 8e2885ecd3 Failing tests fixed. RecyclableLongList.Insert(int) fixed. 2023-09-09 19:15:43 +02:00
mlemanczyk 49bcc3801d Merge branch 'add-unit-tests' of https://github.com/mlemanczyk/Recyclable.Collections into add-unit-tests 2023-09-09 18:28:16 +02:00
mlemanczyk f9bc7cfcaa Missing reference added. 2023-09-09 18:22:53 +02:00
mlemanczyk 40cff659af Test cases updated 2023-09-09 18:22:04 +02:00
mlemanczyk e941fdf8db Unit tests extended. Various fixes. README.md updated. 2023-09-09 18:19:28 +02:00