Change so that type of cache is parameterised
The Tree doesn't seem to be better than the skiplist. Get ready to make this switchable
This commit is contained in:
parent
4846272393
commit
ed96d0ca7a
5 changed files with 48 additions and 30 deletions
|
@ -154,7 +154,7 @@
|
|||
-define(LONG_RUNNING, 80000).
|
||||
|
||||
-record(ledger_cache, {mem :: ets:tab(),
|
||||
loader = leveled_tree:empty() :: tuple(),
|
||||
loader = leveled_tree:empty(?CACHE_TYPE) :: tuple(),
|
||||
load_queue = [] :: list(),
|
||||
index = leveled_pmem:new_index(), % array
|
||||
min_sqn = infinity :: integer()|infinity,
|
||||
|
@ -478,7 +478,7 @@ push_ledgercache(Penciller, Cache) ->
|
|||
|
||||
loadqueue_ledgercache(Cache) ->
|
||||
SL = lists:ukeysort(1, Cache#ledger_cache.load_queue),
|
||||
T = leveled_tree:from_orderedlist(SL),
|
||||
T = leveled_tree:from_orderedlist(SL, ?CACHE_TYPE),
|
||||
Cache#ledger_cache{load_queue = [], loader = T}.
|
||||
|
||||
%%%============================================================================
|
||||
|
@ -726,7 +726,8 @@ snapshot_store(State, SnapType) ->
|
|||
|
||||
readycache_forsnapshot(LedgerCache) ->
|
||||
% Need to convert the Ledger Cache away from using the ETS table
|
||||
Tree = leveled_tree:from_orderedset(LedgerCache#ledger_cache.mem),
|
||||
Tree = leveled_tree:from_orderedset(LedgerCache#ledger_cache.mem,
|
||||
?CACHE_TYPE),
|
||||
Idx = LedgerCache#ledger_cache.index,
|
||||
MinSQN = LedgerCache#ledger_cache.min_sqn,
|
||||
MaxSQN = LedgerCache#ledger_cache.max_sqn,
|
||||
|
@ -982,7 +983,7 @@ maybepush_ledgercache(MaxCacheSize, Cache, Penciller) ->
|
|||
TimeToPush = maybe_withjitter(CacheSize, MaxCacheSize),
|
||||
if
|
||||
TimeToPush ->
|
||||
CacheToLoad = {leveled_tree:from_orderedset(Tab),
|
||||
CacheToLoad = {leveled_tree:from_orderedset(Tab, ?CACHE_TYPE),
|
||||
Cache#ledger_cache.index,
|
||||
Cache#ledger_cache.min_sqn,
|
||||
Cache#ledger_cache.max_sqn},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue