Ahmed Yasin Koculu
91cc5d69ff
Pin iterators to the compression block cache to reduce memory consumption.
2024-07-20 00:40:32 +02:00
Ahmed Yasin Koculu
1fd3881494
Replace the circular block cache with hashtable for faster and stable reads.
...
(cherry picked from commit 47287b25591313b0c1fba0e6e801c66f74dbf56a)
2024-07-20 00:36:31 +02:00
Ahmed Yasin Koculu
04646e6644
Use ArrayPool for compressedBlocks.
...
(cherry picked from commit c8150aed1782b4b6110b5254f5da02d5af11df2d)
2024-07-20 00:36:26 +02:00
Ahmed Yasin Koculu
5f9f45cd3d
Add circular value cache per disk segment.
...
(cherry picked from commit a0f1862744ba092ad3e1b0d8fb52ac60d5e175d4)
2024-07-20 00:36:22 +02:00
Ahmed Yasin Koculu
40d627a404
Create and persist default sparse array on disk segment creation.
...
(cherry picked from commit f75bc0a231dcf67751d2d88fed9d55f46c5a40e6)
2024-07-20 00:36:17 +02:00
Ahmed Yasin Koculu
da6adad2c6
Upgrade byte[] arrays into Memory<byte>
...
(cherry picked from commit f8b42a712f9e6e90309966391fde911351b2a55f)
2024-07-20 00:36:12 +02:00
Ahmed Yasin Koculu
33242a68d8
Add circular cache for keys on disk segments.
...
(cherry picked from commit 03a7c060996ca4485d948f95a7b42c47e6afa991)
2024-07-20 00:36:07 +02:00
Ahmed Yasin Koculu
33450c4c1c
Fix naming of maintainer cleanup job.
...
(cherry picked from commit 28f19a172ad0ef6c7587bae6cc80024868951ae4)
2024-07-20 00:36:03 +02:00
Ahmed Yasin Koculu
9a4d6308ab
Add get parts count method.
...
(cherry picked from commit 26888da38b6094df6b5a7e5bc86b088b4b11547b)
2024-07-20 00:35:57 +02:00
Ahmed Yasin Koculu
766c6b9555
Upgrade dependencies.
...
(cherry picked from commit d05b21dfcf591c405e621410b9069b802f3fce99)
2024-07-20 00:35:53 +02:00
Ahmed Yasin Koculu
39d512fc22
Use deserialization with code generation for dotnet 6.0 and above.
...
(cherry picked from commit f69dc36697003a9c5ced4d41fb3d7695ae0ac77d)
2024-07-20 00:35:37 +02:00
Ahmed Yasin Koculu
a1ce94bc4f
Expose comparer, key and value serializers on IZoneTree.
2024-06-14 22:22:41 +02:00
Ahmed Yasin Koculu
96d0a267d3
Fix LocalFileStream flush parameters.
2024-06-14 22:14:47 +02:00
Jozef Gajdos
e4406dca5e
Migration to .NET 8 and enable AOT compilation.
2024-06-14 14:57:13 +02:00
Ahmed Yasin Koculu
b61f0bad98
Bump version.
2023-12-12 21:00:37 +01:00
Anton Taranov
390a5df8cc
Fixed DeletableRefSerializer issue: cut of last byte.
2023-12-12 12:05:34 +02:00
Ahmed Yasin Koculu
93a4cfdba8
Update remaining X64 usage in Crc32 X86.
2023-09-13 21:50:55 +02:00
Ahmed Yasin Koculu
dbf6fa5294
Use previous crc result.
2023-09-13 20:42:30 +02:00
Ahmed Yasin Koculu
fbdea76913
Add Crc32 x86 support.
2023-09-13 20:31:49 +02:00
Ahmed Yasin Koculu
58a5dcf221
Merge pull request #43 from koculu/feature/extend--filestreamprovider-methods
...
Add GetDirectories and CombinePaths to the file stream provider interface.
2023-08-19 00:36:31 +02:00
Ahmed Yasin Koculu
2cef4ce61f
Fix wrong value serializer type in thrown Exception.
2023-08-19 00:34:48 +02:00
Ahmed Yasin Koculu
0153d53819
Add GetDirectories and CombinePaths methods to the file stream provider interface.
2023-08-19 00:28:16 +02:00
Ahmed Yasin Koculu
51dad23444
Fixed invalid key deletion bug on tree load.
2023-06-17 17:03:45 +02:00
Ahmed Yasin Koculu
6be1888e40
Update docs.
2023-06-17 05:19:22 +02:00
Ahmed Yasin Koculu
ea5e49e2cb
Colleect garbage from write ahead log of mutable segment.
2023-06-17 03:28:29 +02:00
Ahmed Yasin Koculu
d10e0ccbe8
Add optional startup garbage collection if applicable.
2023-06-17 02:57:21 +02:00
Ahmed Yasin Koculu
da0a36e4a2
Load initial sparse array in Open and OperOrCreate methods.
2023-06-17 02:14:36 +02:00
Ahmed Yasin Koculu
765f8b8f32
Add B+Tree Node and Leaf size fine tuning options.
2023-06-17 01:33:49 +02:00
Ahmed Yasin Koculu
ecee237135
Add default value deletion support for reference and nullable types.
2023-06-17 01:15:50 +02:00
Ahmed Yasin Koculu
80dff54867
Add delete value confgiuration validation to prevent unexpected not working delete calls.
2023-06-17 00:21:15 +02:00
Ahmed Yasin Koculu
f2d6006e6f
Remove unused pragma directive.
2023-06-08 15:09:55 +02:00
Ahmed Yasin Koculu
606c0a73a0
Fix BTree deadlock on split. ( #36 )
2023-05-29 06:35:44 +02:00
Ahmed Yasin Koculu
5e67bdf803
Reduce code duplication ( #35 )
...
* Remove duplicated binary search code.
* Remove lambdas when possible.
2023-05-28 07:16:36 +02:00
Ahmed Yasin Koculu
46ef5d74f9
Remove redundant unsafe flags. ( #34 )
2023-05-28 02:36:31 +02:00
Ahmed Yasin Koculu
fe9b4be44f
Refactor disk segments ( #33 )
...
* Organize segments subfolders.
* Create subclass disk segments.
* Mark base DiskSegment abstract and activate derived disk segments.
* Perform disposing correctly.
* Refactor namespaces to match containing folders.
* Relocate DataHeaderDevice to the corresponding disk segments.
2023-05-28 02:17:14 +02:00
ksemenenko
9ba1393e34
Add descending comparers for primitive types ( #32 )
2023-05-27 21:39:27 +02:00
Ahmed Yasin Koculu
dc9a2b9f54
Mark new disk segment null after the event is invoked. ( #31 )
2023-05-27 18:54:13 +02:00
Ahmed Yasin Koculu
64f3fb8a33
Code analysis cleanup ( #30 )
...
* Enable code analysis and start cleanup warnings.
* Cleanup default value assignment warnings and more.
* Ignore and fix some warnings.
* Clear naming and reliability warnings.
* Fix disposal related warnings.
* Create auto generated equality operators.
* Seal classes.
2023-05-27 07:48:14 +02:00
Ahmed Yasin Koculu
bae3be27c0
Minor code and CI improvements ( #29 )
...
* Improve QueueItemsChunk construction.
* Add publish nuget package workflow.
2023-05-27 00:44:47 +02:00
Ahmed Yasin Koculu
3e960cef03
Improve (%41) read speed by replacing concurrent queue ( #28 )
...
* Add single producer and single consumer queue using LIFO enumeration capability..
* Use the new queue. Performance improvementr for reads: %41
* Usae inline functions instead of lambda delegates.
2023-05-27 00:04:49 +02:00
Kirill Osenkov
8ad146aaac
Remove duplicated code ( #27 )
2023-05-23 01:44:51 +02:00
Ahmed Yasin Koculu
a75d66887a
Fix typo bug on Int64Serializer helper class. ( #26 )
2023-04-05 02:54:12 +02:00
Ahmed Yasin Koculu
be17ec7713
Fix bug on seeking tp multi part disk segment part borders. ( #23 )
2023-01-14 22:15:46 +01:00
Ahmed Yasin Koculu
55981d0f52
Fix sparse array fast return bug. ( #21 )
...
* Fix sparse array fast return bug.
2023-01-14 09:58:43 +01:00
Ahmed Yasin Koculu
57bdfe1971
Add prefix search tests using iterators. ( #20 )
2023-01-08 16:42:39 +01:00
Ahmed Yasin Koculu
a5fbde6251
Reduce CPU instructions on byte array Crc32 computation. ( #18 )
...
* Reduce CPU instructions on byte array Crc32 computation.
* Create Crc32 classs per hardware to reduce CPU instructions.
* Reduce code duplication.
* Reuse LogEntry read and append functions.
2022-11-20 22:58:40 +01:00
Ahmed Yasin Koculu
379da693ad
Added Agressive inline compiler hint.
2022-11-14 21:27:33 +01:00
Dmitriy Korolev
1ee8900f64
Arm support ( #16 )
...
* Add ARM support
* Add ARM disclamer + format
2022-11-14 08:53:32 +01:00
Ahmed Yasin Koculu
65e67e933b
Upgrade Framework to .Net 7.0.
2022-11-13 20:56:39 +01:00
Ahmed Yasin Koculu
6568c7bdd9
Fix typo in exception message.
2022-11-13 20:19:08 +01:00