Commit 84221bb
Migrate LiteLsm reads to iterator API, remove class-based SkipList
- Remove SkipList.cs (class-based) and SkipListType enum; only StructSkipList remains
- Make GetIterator public with ReadAll() yielding IEnumerable<(TKey, TValue)>
- Fix LiteLsmIterator: buffer span bug, batch continuation via excludeStart
- Fix ReadBatchInto to handle segment-to-memtable boundary transitions
- Add excludeStart support through MemCpyRawRange and SegmentManager (O(log N) + O(1))
- Fix GetKeyIdxInDataLayer to return successor index for not-found keys
- Fix SegmentManager FileShare for concurrent read/write access
- Update tests and benchmarks to use iterator API
- Add WaitForPendingFlush to write benchmark for fair comparison
- Add concurrent stress test (50K inserts with parallel point + range readers)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent b106363 commit 84221bb
12 files changed
Lines changed: 1513 additions & 1422 deletions
File tree
- benchmarks/StreamDB.Benchmarks
- src/StreamDB
- LiteLsm
- tests/StreamDB.Tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
290 | 290 | | |
291 | 291 | | |
292 | 292 | | |
293 | | - | |
294 | | - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
295 | 297 | | |
296 | 298 | | |
297 | 299 | | |
| |||
300 | 302 | | |
301 | 303 | | |
302 | 304 | | |
303 | | - | |
304 | | - | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
305 | 309 | | |
306 | 310 | | |
307 | 311 | | |
| |||
310 | 314 | | |
311 | 315 | | |
312 | 316 | | |
313 | | - | |
314 | | - | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
315 | 321 | | |
316 | 322 | | |
317 | 323 | | |
318 | 324 | | |
319 | 325 | | |
320 | 326 | | |
321 | 327 | | |
322 | | - | |
323 | | - | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
324 | 332 | | |
325 | 333 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| 186 | + | |
186 | 187 | | |
187 | 188 | | |
188 | 189 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
This file was deleted.
0 commit comments