Skip to content

Commit

Permalink
more bonus tasks
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Chi <[email protected]>
  • Loading branch information
skyzh committed Jan 21, 2024
1 parent da0ef2b commit 8cabb47
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 1 deletion.
4 changes: 4 additions & 0 deletions mini-lsm-book/src/week1-05-read-path.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,8 @@ For get requests, it will be processed as lookups in the memtables, and then sca

We do not provide reference answers to the questions, and feel free to discuss about them in the Discord community.

## Bonus Tasks

* **The Cost of Dynamic Dispatch.** Implement a `Box<dyn StorageIterator>` version of merge iterators and benchmark to see the performance differences.

{{#include copyright.md}}
4 changes: 4 additions & 0 deletions mini-lsm-book/src/week1-06-write-path.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,8 @@ You can implement helper functions like `range_overlap` and `key_within` to simp

We do not provide reference answers to the questions, and feel free to discuss about them in the Discord community.

## Bonus Tasks

* **Implement Write Stall.** When the number of memtables exceed the maximum number too much, you can stop users from writing to the storage engine. You may also implement write stall for L0 tables in week 2 after you have implemented compactions.

{{#include copyright.md}}
2 changes: 1 addition & 1 deletion mini-lsm-book/src/week2-overview.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Overview
# Week 2 Overview: Compaction and Persistence

![Chapter Overview](./lsm-tutorial/week2-overview.svg)

Expand Down

0 comments on commit 8cabb47

Please sign in to comment.