get_member_last_pageScenario:
Results:
| Function | Run time [s] | |
|---|---|---|
| insert | 19.61 | 19.69 |
| get_member_last_page | 18.33 | 18.38 |
| SeekForPrev | 14.95 | 15.05 |
get_member_last_page with key_may_existIdea: SeekForPrev is slow, and key_may_exist could provide a good heuristic for skipping it entirely
Result: 👎
| function | base case [s] | optimized [s] |
|---|---|---|
| insert | 19.61 | 22.21 |
| get_member_last_page | 18.33 | 20.79 |
| SeekForPrev | 14.95 | 14.18 |
| key_may_exist | 3.13 |
| total | 647830 |
|---|---|
| may_exist | 642752 |
Idea: We simply cache entire pages
| function | base case [s] | cache=10’000 | cache=100’000 |
|---|---|---|---|
| insert | 19.61 | 13.68 | 10.93 |
| get_member_last_page | 18.33 | 12.10 | 9.14 |
| SeekForPrev | 14.95 | 9.98 | 7.37 |
| lru::put | 0.105 | ||
| lru::get | 0.042 |
| cache=10’000 | cache=100’000 | |
|---|---|---|
| total | 647830 | 647830 |
| page_cache_hit | 239136 | 355314 |