Paprika
Paprika copied to clipboard
RootPage of bigger size
Currently, the RootPage
component is the same size as other pages. We could revisit this approach and make it much bigger (8kb, 16kb, 32kb...) and scale up the structures it contains. Potential benefits and applications:
- shorter paths in the tree
- shorter lookup for contract ids
- bigger
AbandonedList
- adding some SlottedArray at the root
To make it work for experiments, the following steps should be taken:
- [ ] Preparation
- [ ] detach
RootPage
fromPage
- [ ]
IPageManager.FlushRootPage
and implementations needs to be revisit to take the new size into consideration. Also, as writing multiple pages is not atomic, use the 0th page as the index to what was the last write. - [ ]
PagedDb._pooledRoots
cannot be based on theBufferPool
which uses 4k pages orBufferPool
should be made configurable - [ ]
PagedDb
andNextFreePage
calculations, should start atN + RootPage.Size
- [ ] detach
- [ ] Experiments
- [ ] Use
Paprika.Runner
to show differences - [ ] Use tests to show differences
- [ ] Use
Benchmarks
to show differences
- [ ] Use
Could you assign it to me, please?