Commit Graph

272 Commits

Author SHA1 Message Date
Ahmed Yasin Koculu 95a673e192 Introduce Bottom Segments Layer. The vertical disk segment expansion. 2022-08-27 18:23:28 +02:00
Ahmed Yasin Koculu 143a1eb325 Set deterministic build option. 2022-08-27 14:18:54 +02:00
Ahmed Yasin Koculu 6fb42b10a5 Adds LZ4 nuget package config. 2022-08-27 14:15:51 +02:00
Ahmed Yasin Koculu 53250a45bb Code cleanup. 2022-08-26 23:01:40 +02:00
Ahmed Yasin Koculu 87d823ad96 Clean namespaces. 2022-08-26 21:41:53 +02:00
Ahmed Yasin Koculu da905ec526 Adds 3rd party licenses to the nuget package. 2022-08-26 21:16:43 +02:00
Ahmed Yasin Koculu e75d0bd446 Adds compression level selection capability.. 2022-08-26 20:56:55 +02:00
Ahmed Yasin Koculu e388fb5179 Prevent multiple threads read same disk segment block. 2022-08-26 19:21:16 +02:00
Ahmed Yasin Koculu ab2563f8b6 Adds Brotli and Zstd compression methods. 2022-08-26 18:39:31 +02:00
Ahmed Yasin Koculu aabbecc59d Updates benchmark results. 2022-08-26 17:26:56 +02:00
Ahmed Yasin Koculu d26a6918a6 Improves circular cache. Drops slow ConcurrentDictionary lookups. 2022-08-26 16:54:48 +02:00
Ahmed Yasin Koculu 0ac7786ae7 Adds BlockCacheReplacementDuration configuration option. 2022-08-26 15:48:49 +02:00
Ahmed Yasin Koculu 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) 2022-08-26 15:28:45 +02:00
Ahmed Yasin Koculu 21993f6dea Adds faster decompression for known blob sizes. 2022-08-26 00:05:42 +02:00
Ahmed Yasin Koculu 2862731730 Avoid block read to get last block length. 2022-08-25 23:39:27 +02:00
Ahmed Yasin Koculu 049aa8b43a Update benchmark with configs. 2022-08-25 23:24:14 +02:00
Ahmed Yasin Koculu 7d20899408 Improves iteration speed by avoiding circular block cache lookups. up to +25% 2022-08-25 22:29:06 +02:00
Ahmed Yasin Koculu 59e8e82495 Improves merge speed by avoiding dictionary lookups. +%20 2022-08-25 21:44:26 +02:00
Ahmed Yasin Koculu 7b277cd6df Improves API to support up to 2^63 key-value pairs. 2022-08-25 19:04:44 +02:00
Ahmed Yasin Koculu e257815ca6 Code cleanup. 2022-08-25 16:26:36 +02:00
Ahmed Yasin Koculu aac52ed9be Updates benchmark results. 2022-08-25 16:11:15 +02:00
Ahmed Yasin Koculu d2116edbde Adds LZ4 support. (Many Thanks to @xorxornop - Matt Ducker)
https://github.com/xorxornop/LZ4PCL
2022-08-25 15:41:01 +02:00
Ahmed Yasin Koculu 3576780537 Improves performance by avoiding cpu time queries for cache access ticks. 2022-08-25 13:34:46 +02:00
Ahmed Yasin Koculu 5e3ddc9d96 Adds maintainer periodic timer start/stop capability. 2022-08-25 12:51:01 +02:00
Ahmed Yasin Koculu 65ff442c57 Update docs. 2022-08-25 00:11:11 +02:00
Ahmed Yasin Koculu d137c01484 Check less files. 2022-08-24 23:47:27 +02:00
Ahmed Yasin Koculu c283495526 Updates readme. 2022-08-24 23:44:30 +02:00
Ahmed Yasin Koculu dbecaf3551 Updates docs. 2022-08-24 23:31:20 +02:00
Ahmed Yasin Koculu 3f946b131e Fix set length. 2022-08-24 23:31:07 +02:00
Ahmed Yasin Koculu 48a60b1473 Implements abstraction of ZoneTreeMaintainer. 2022-08-24 22:57:25 +02:00
Ahmed Yasin Koculu c59357773c Auto dispose maintainer on ZoneTree disposal. 2022-08-24 21:49:24 +02:00
Ahmed Yasin Koculu 6e7618985e Adds dynamically adjustable compression method support. 2022-08-24 21:33:46 +02:00
Ahmed Yasin Koculu 5d3180c6d2 Refactor namespaces. 2022-08-24 19:47:20 +02:00
Ahmed Yasin Koculu 2ec920ad24 Adds db migration exception. 2022-08-24 19:23:45 +02:00
Ahmed Yasin Koculu e8adee650b Adds capability to dynamically change DiskSegment settings. 2022-08-24 18:57:25 +02:00
Ahmed Yasin Koculu 0eda82fb1a Refactor options with better names and namespaces. 2022-08-24 18:13:08 +02:00
Ahmed Yasin Koculu c67a476fa6 Relocate disk segment options to individual class. 2022-08-24 18:04:34 +02:00
Ahmed Yasin Koculu cbcdd2a7e9 Adds backward compatibility for version < 1.3.8. 2022-08-24 17:15:54 +02:00
Ahmed Yasin Koculu 20b10f92be Adds feature to allow changing WAL options for existing ZoneTree databases. 2022-08-24 17:00:32 +02:00
Ahmed Yasin Koculu 2c78508cfc Moves WriteAheadLogOptions to the ZoneTreeOptions. 2022-08-24 16:40:18 +02:00
Ahmed Yasin Koculu 72840b22cf Update API docs. 2022-08-23 23:14:09 +02:00
Ahmed Yasin Koculu 72b19dad71 Rename multi-part disk segment to match the disk segment modes to avoid confusion. 2022-08-23 14:36:04 +02:00
Ahmed Yasin Koculu 682648e2f1 Rename WAL modes => Sync, SyncCompressed, AsyncCompressed, None 2022-08-23 14:18:27 +02:00
Ahmed Yasin Koculu f76c8d93e0 Improve DiskSegmentMode names to be self descriptive. 2022-08-23 14:01:13 +02:00
Ahmed Yasin Koculu 46162d2443 Improved performance by letting the value updater delegate cancel the update to prevent unnecessary writes. 2022-08-22 16:14:52 +02:00
Ahmed Yasin Koculu 6f3f175390 Fix TTL sliding to infinitive. 2022-08-22 11:11:31 +02:00
Ahmed Yasin Koculu a8bb8f3b2e Update API docs. 2022-08-22 10:53:29 +02:00
Ahmed Yasin Koculu 5d0a73fb01 Updates quick-start guide. 2022-08-22 10:34:14 +02:00
Ahmed Yasin Koculu e78722c0ac Update sliding expiration. 2022-08-22 10:25:43 +02:00
Ahmed Yasin Koculu 9d65867688 Updates docs. 2022-08-22 10:07:57 +02:00