Commit Graph

  • 2cef4ce61f Fix wrong value serializer type in thrown Exception. Ahmed Yasin Koculu 2023-08-19 00:34:48 +02:00
  • 0153d53819 Add GetDirectories and CombinePaths methods to the file stream provider interface. Ahmed Yasin Koculu 2023-08-19 00:28:16 +02:00
  • 1a729191b5 Merge pull request #40 from koculu/invalid-key-deletion-on-read-only-memory-segment-loader release-v1.6.5 Ahmed Yasin Koculu 2023-06-17 17:25:08 +02:00
  • 51dad23444 Fixed invalid key deletion bug on tree load. Ahmed Yasin Koculu 2023-06-17 17:03:45 +02:00
  • 6be1888e40 Update docs. Ahmed Yasin Koculu 2023-06-17 05:19:22 +02:00
  • 17e1730f36 Merge pull request #39 from koculu/garbage-collection-on-startup Ahmed Yasin Koculu 2023-06-17 03:36:36 +02:00
  • ea5e49e2cb Colleect garbage from write ahead log of mutable segment. Ahmed Yasin Koculu 2023-06-17 03:07:32 +02:00
  • d10e0ccbe8 Add optional startup garbage collection if applicable. Ahmed Yasin Koculu 2023-06-17 02:57:21 +02:00
  • da0a36e4a2 Load initial sparse array in Open and OperOrCreate methods. Ahmed Yasin Koculu 2023-06-17 02:14:36 +02:00
  • f8b01ad7b3 Merge pull request #38 from koculu/add-btree-node-size-fine-tuning-options release-v1.6.4 Ahmed Yasin Koculu 2023-06-17 01:41:21 +02:00
  • 765f8b8f32 Add B+Tree Node and Leaf size fine tuning options. Ahmed Yasin Koculu 2023-06-17 01:33:49 +02:00
  • 04f5caaa30 Merge pull request #37 from koculu/validate-delete-value-configuration Ahmed Yasin Koculu 2023-06-17 01:31:49 +02:00
  • ecee237135 Add default value deletion support for reference and nullable types. Ahmed Yasin Koculu 2023-06-17 01:15:50 +02:00
  • 80dff54867 Add delete value confgiuration validation to prevent unexpected not working delete calls. Ahmed Yasin Koculu 2023-06-17 00:21:15 +02:00
  • f2d6006e6f Remove unused pragma directive. Ahmed Yasin Koculu 2023-06-08 15:09:55 +02:00
  • 004882ff9d Update README.md Ahmed Yasin Koculu 2023-06-08 14:25:53 +02:00
  • 606c0a73a0 Fix BTree deadlock on split. (#36) release-v1.6.3 Ahmed Yasin Koculu 2023-05-29 06:35:44 +02:00
  • 5e67bdf803 Reduce code duplication (#35) Ahmed Yasin Koculu 2023-05-28 07:16:36 +02:00
  • 46ef5d74f9 Remove redundant unsafe flags. (#34) Ahmed Yasin Koculu 2023-05-28 02:36:31 +02:00
  • fe9b4be44f Refactor disk segments (#33) Ahmed Yasin Koculu 2023-05-28 02:17:14 +02:00
  • 9ba1393e34 Add descending comparers for primitive types (#32) ksemenenko 2023-05-27 21:39:27 +02:00
  • dc9a2b9f54 Mark new disk segment null after the event is invoked. (#31) Ahmed Yasin Koculu 2023-05-27 18:54:13 +02:00
  • 64f3fb8a33 Code analysis cleanup (#30) Ahmed Yasin Koculu 2023-05-27 07:48:14 +02:00
  • bae3be27c0 Minor code and CI improvements (#29) release-v1.6.2 Ahmed Yasin Koculu 2023-05-27 00:44:47 +02:00
  • 3e960cef03 Improve (%41) read speed by replacing concurrent queue (#28) Ahmed Yasin Koculu 2023-05-27 00:04:49 +02:00
  • 5874454e82 Added Discord channel badge. Ahmed Yasin Koculu 2023-05-24 23:07:43 +02:00
  • 8ad146aaac Remove duplicated code (#27) Kirill Osenkov 2023-05-22 16:44:51 -07:00
  • a75d66887a Fix typo bug on Int64Serializer helper class. (#26) release-v1.6.1 Ahmed Yasin Koculu 2023-04-05 02:54:12 +02:00
  • be17ec7713 Fix bug on seeking tp multi part disk segment part borders. (#23) release-v1.6.0 Ahmed Yasin Koculu 2023-01-14 22:15:46 +01:00
  • 55981d0f52 Fix sparse array fast return bug. (#21) release-v1.5.9 Ahmed Yasin Koculu 2023-01-14 09:58:43 +01:00
  • 57bdfe1971 Add prefix search tests using iterators. (#20) Ahmed Yasin Koculu 2023-01-08 16:42:39 +01:00
  • a5fbde6251 Reduce CPU instructions on byte array Crc32 computation. (#18) release-v1.5.8 Ahmed Yasin Koculu 2022-11-20 22:58:40 +01:00
  • eea8c860c8 Update issue templates Ahmed Yasin Koculu 2022-11-20 16:59:09 +01:00
  • 379da693ad Added Agressive inline compiler hint. release-v1.5.7 Ahmed Yasin Koculu 2022-11-14 21:27:33 +01:00
  • 473b4dc6b9 ARM support is not a product feature. Ahmed Yasin Koculu 2022-11-14 09:02:43 +01:00
  • e0c71f0c3c Remove Zstd M1 support warning from Readme, and create a feature request on Zstd project. Ahmed Yasin Koculu 2022-11-14 09:00:15 +01:00
  • 1ee8900f64 Arm support (#16) Dmitriy Korolev 2022-11-14 14:53:32 +07:00
  • c98713ae09 Update dotnet.yml (#15) Ahmed Yasin Koculu 2022-11-13 21:45:35 +01:00
  • ed1221708d Update dotnet.yml Ahmed Yasin Koculu 2022-11-13 21:18:26 +01:00
  • 84442f0e11 Update dotnet.yml Ahmed Yasin Koculu 2022-11-13 21:07:57 +01:00
  • 6e28753f12 Upgrade pipeline framework to .Net 7.0. release-v1.5.6 Ahmed Yasin Koculu 2022-11-13 20:58:42 +01:00
  • 65e67e933b Upgrade Framework to .Net 7.0. Ahmed Yasin Koculu 2022-11-13 20:56:39 +01:00
  • 6568c7bdd9 Fix typo in exception message. Ahmed Yasin Koculu 2022-11-13 20:19:08 +01:00
  • 4194d34f9b Add wal corruption exception class tests. release-v1.5.5 Ahmed Yasin Koculu 2022-10-20 18:18:47 +02:00
  • 8ad8311770 Fixed issue caused by AggregateException does not accept null values. Ahmed Yasin Koculu 2022-10-20 18:06:08 +02:00
  • e044a83296 Fix null reference exception. release-v1.5.4 Ahmed Yasin Koculu 2022-10-20 17:42:39 +02:00
  • e76aa3e720 Bug/11 single character string serializer (#13) release-v1.5.3 Ahmed Yasin Koculu 2022-10-20 17:11:58 +02:00
  • 7e1fba3a15 Unseal benchmark dot net classes. Ahmed Yasin Koculu 2022-09-14 18:22:54 +02:00
  • c8921cb158 Seal all classes. https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-6/#peanut-butter release-v1.5.2 Ahmed Yasin Koculu 2022-09-14 13:11:42 +02:00
  • b88e95bb28 Set mutable segment volatile. Ahmed Yasin Koculu 2022-09-14 13:05:27 +02:00
  • 77d9bf87fd Mark disk segment volatile. release-v1.5.1 Ahmed Yasin Koculu 2022-09-03 02:59:07 +02:00
  • 59b81f87a7 Simplify benchmarks. Ahmed Yasin Koculu 2022-09-03 02:19:05 +02:00
  • 24157706ad Adds Steve's challenge test. release-v1.5.0 Ahmed Yasin Koculu 2022-09-03 00:41:44 +02:00
  • b16e693c2a Makes random access device manager thread-safe. Ahmed Yasin Koculu 2022-09-03 00:35:17 +02:00
  • f1ad57988b Fixes memory leak caused by GC. GC does not collect Thread local variables for a long time. Ahmed Yasin Koculu 2022-09-03 00:34:21 +02:00
  • b50d075db5 Adds default byte array serializer and comparers selection. Ahmed Yasin Koculu 2022-09-03 00:32:34 +02:00
  • e0d2a9d120 Update docs. Ahmed Yasin Koculu 2022-08-31 23:08:17 +02:00
  • 774b084a52 Updates docs. Ahmed Yasin Koculu 2022-08-31 23:05:18 +02:00
  • eaea453a03 Update docs. release-v1.4.9 Ahmed Yasin Koculu 2022-08-31 20:38:34 +02:00
  • e36676cfab Replaces LZ4 and Zstd compression libraries with faster alternatives. Ahmed Yasin Koculu 2022-08-31 20:08:46 +02:00
  • c2200a5dc5 Sets default random access device manager. release-v1.4.8 Ahmed Yasin Koculu 2022-08-31 00:10:52 +02:00
  • 8416d2d0cb Fixes deadlock in BTree split.. release-v1.4.7 Ahmed Yasin Koculu 2022-08-30 02:47:46 +02:00
  • a6fb79f8a8 Adds 100M compression method comparison. Ahmed Yasin Koculu 2022-08-30 01:54:12 +02:00
  • 3a3f10e732 Improves benchmarks to include disk and memory usage. release-v1.4.6 Ahmed Yasin Koculu 2022-08-30 01:06:17 +02:00
  • 1270566871 Drop bottom segments properly. Set Brotli Optimum = Fastest. Ahmed Yasin Koculu 2022-08-30 00:55:57 +02:00
  • a546aa3a2e Adds bottom segment merge operation events. Ahmed Yasin Koculu 2022-08-29 02:00:23 +02:00
  • 4e97c37e89 Unify mutable segment name across the codebase to avoid confusion. release-v1.4.5 Ahmed Yasin Koculu 2022-08-29 01:28:28 +02:00
  • bd095b37b1 Fixes Sparse Array GetFirstGreaterOrEqualPosition bug. Ahmed Yasin Koculu 2022-08-29 01:15:05 +02:00
  • 2399e35b03 Init sparse arrays in parallel. Ahmed Yasin Koculu 2022-08-29 00:58:50 +02:00
  • f395039d6c Adds bottom segment merger. Ahmed Yasin Koculu 2022-08-28 22:52:14 +02:00
  • 93927cd8b2 Adds log object. Ahmed Yasin Koculu 2022-08-28 17:33:41 +02:00
  • 05bc11db82 Synchronize reads and iterators with disk segment drops. Ahmed Yasin Koculu 2022-08-28 15:41:46 +02:00
  • 95a673e192 Introduce Bottom Segments Layer. The vertical disk segment expansion. release-v1.4.4 Ahmed Yasin Koculu 2022-08-27 18:23:28 +02:00
  • 143a1eb325 Set deterministic build option. Ahmed Yasin Koculu 2022-08-27 14:18:54 +02:00
  • 6fb42b10a5 Adds LZ4 nuget package config. Ahmed Yasin Koculu 2022-08-27 14:15:51 +02:00
  • 53250a45bb Code cleanup. Ahmed Yasin Koculu 2022-08-26 23:01:40 +02:00
  • 87d823ad96 Clean namespaces. release-v1.4.3 Ahmed Yasin Koculu 2022-08-26 21:41:53 +02:00
  • da905ec526 Adds 3rd party licenses to the nuget package. release-v1.4.2 Ahmed Yasin Koculu 2022-08-26 21:16:43 +02:00
  • e75d0bd446 Adds compression level selection capability.. Ahmed Yasin Koculu 2022-08-26 20:56:55 +02:00
  • e388fb5179 Prevent multiple threads read same disk segment block. Ahmed Yasin Koculu 2022-08-26 19:21:16 +02:00
  • ab2563f8b6 Adds Brotli and Zstd compression methods. Ahmed Yasin Koculu 2022-08-26 18:39:31 +02:00
  • aabbecc59d Updates benchmark results. release-v1.4.1 Ahmed Yasin Koculu 2022-08-26 17:26:56 +02:00
  • d26a6918a6 Improves circular cache. Drops slow ConcurrentDictionary lookups. Ahmed Yasin Koculu 2022-08-26 16:54:48 +02:00
  • 0ac7786ae7 Adds BlockCacheReplacementDuration configuration option. Ahmed Yasin Koculu 2022-08-26 15:48:49 +02:00
  • b112800a68 Fixes ticks / milliseconds confusion. (incosistent naming in .NET Environment.TickCount64 is not tick count but milliseconds count. DateTime.UTCNow.Ticks => is the ticks count) Ahmed Yasin Koculu 2022-08-26 15:28:45 +02:00
  • 21993f6dea Adds faster decompression for known blob sizes. Ahmed Yasin Koculu 2022-08-26 00:05:42 +02:00
  • 2862731730 Avoid block read to get last block length. Ahmed Yasin Koculu 2022-08-25 23:39:27 +02:00
  • 049aa8b43a Update benchmark with configs. Ahmed Yasin Koculu 2022-08-25 23:24:14 +02:00
  • 7d20899408 Improves iteration speed by avoiding circular block cache lookups. up to +25% Ahmed Yasin Koculu 2022-08-25 22:29:06 +02:00
  • 59e8e82495 Improves merge speed by avoiding dictionary lookups. +%20 Ahmed Yasin Koculu 2022-08-25 21:44:26 +02:00
  • 7b277cd6df Improves API to support up to 2^63 key-value pairs. release-v1.4.0 Ahmed Yasin Koculu 2022-08-25 19:04:44 +02:00
  • e257815ca6 Code cleanup. release-v1.3.9 Ahmed Yasin Koculu 2022-08-25 16:26:36 +02:00
  • aac52ed9be Updates benchmark results. Ahmed Yasin Koculu 2022-08-25 16:11:15 +02:00
  • d2116edbde Adds LZ4 support. (Many Thanks to @xorxornop - Matt Ducker) https://github.com/xorxornop/LZ4PCL Ahmed Yasin Koculu 2022-08-25 15:41:01 +02:00
  • 3576780537 Improves performance by avoiding cpu time queries for cache access ticks. Ahmed Yasin Koculu 2022-08-25 13:34:46 +02:00
  • 5e3ddc9d96 Adds maintainer periodic timer start/stop capability. Ahmed Yasin Koculu 2022-08-25 12:51:01 +02:00
  • 65ff442c57 Update docs. Ahmed Yasin Koculu 2022-08-25 00:11:11 +02:00
  • d137c01484 Check less files. release-v1.3.8 Ahmed Yasin Koculu 2022-08-24 23:47:27 +02:00
  • c283495526 Updates readme. Ahmed Yasin Koculu 2022-08-24 23:44:30 +02:00
  • dbecaf3551 Updates docs. Ahmed Yasin Koculu 2022-08-24 23:31:20 +02:00