Added lfsr_mtree_t, store direct mptrs decoded

This gives the mtree a dedicated type, with direct mptrs (single mdirs)
being stored decoded, instead of encoding into leb128s. This avoids
encoding/decoding in some cases.

This change is currently a net downgrade, but only because we still have
all of the inlined btree code. Eventually this inlined btree code should
be removed:

            code          stack
  before:  31316           2064
  after:   31480 (+0.5%)   2072 (+0.4%)

Also tweaked the tests to no longer test dropping the mtree down to
zero size. Thanks to root bookmarks, we never actually do this, and it
simplifies lfsr_mdir_commit to not support this.
This commit is contained in:
Christopher Haster
2023-11-01 01:21:18 -05:00
parent 06439f0cc4
commit 0d6ff3b663
3 changed files with 571 additions and 429 deletions
+320 -260
View File
File diff suppressed because it is too large Load Diff