diff --git a/mini-lsm-book/src/week1-05-read-path.md b/mini-lsm-book/src/week1-05-read-path.md index 47c6100b..3c9c6ccc 100644 --- a/mini-lsm-book/src/week1-05-read-path.md +++ b/mini-lsm-book/src/week1-05-read-path.md @@ -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` version of merge iterators and benchmark to see the performance differences. + {{#include copyright.md}} diff --git a/mini-lsm-book/src/week1-06-write-path.md b/mini-lsm-book/src/week1-06-write-path.md index 7e22ca23..608abc4f 100644 --- a/mini-lsm-book/src/week1-06-write-path.md +++ b/mini-lsm-book/src/week1-06-write-path.md @@ -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}} diff --git a/mini-lsm-book/src/week2-overview.md b/mini-lsm-book/src/week2-overview.md index b281fabe..983c48d9 100644 --- a/mini-lsm-book/src/week2-overview.md +++ b/mini-lsm-book/src/week2-overview.md @@ -1,4 +1,4 @@ -# Overview +# Week 2 Overview: Compaction and Persistence ![Chapter Overview](./lsm-tutorial/week2-overview.svg)