mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-03 17:44:29 +00:00
e48609ee8d
This branch implements support of btree indexes instead of .kvi files. Kvi also created, but not used during search/lookup, only for size comparation. Btree allows to make seek calls, while recsplit indexes does not support that query. During initial tests, btree indexes are ~1-3% smaller than recsplit but avg lookup time bigger up to 1.5us (which compensates with ability to fetch next key). BtAlloc ``` 337000 searches, last took 5.417µs avg=4.385µs next_access_last[of 10000 keys] 105ns 338000 searches, last took 3.792µs avg=4.385µs next_access_last[of 10000 keys] 103ns 339000 searches, last took 5.125µs avg=4.386µs next_access_last[of 10000 keys] 103ns 340000 searches, last took 4.75µs avg=4.386µs next_access_last[of 10000 keys] 103ns 341000 searches, last took 3.875µs avg=4.386µs next_access_last[of 10000 keys] 104ns 342000 searches, last took 6.042µs avg=4.387µs next_access_last[of 10000 keys] 107ns 343000 searches, last took 3.209µs avg=4.388µs next_access_last[of 10000 keys] 108ns 344000 searches, last took 2.292µs avg=4.393µs next_access_last[of 10000 keys] 113ns 345000 searches, last took 2.417µs avg=4.394µs next_access_last[of 10000 keys] 106ns 346000 searches, last took 2.625µs avg=4.394µs next_access_last[of 10000 keys] 103ns 347000 searches, last took 4.417µs avg=4.397µs next_access_last[of 10000 keys] 104ns 348000 searches, last took 5.458µs avg=4.398µs next_access_last[of 10000 keys] 103ns 349000 searches, last took 4.875µs avg=4.4µs next_access_last[of 10000 keys] 102ns 350000 searches, last took 4.25µs avg=4.4µs next_access_last[of 10000 keys] 104ns 351000 searches, last took 6.25µs avg=4.403µs next_access_last[of 10000 keys] 106ns 352000 searches, last took 3.125µs avg=4.404µs next_access_last[of 10000 keys] 106ns ``` Recsplit ``` 354000 searches, last took 1.209µs avg=3.081µs 355000 searches, last took 1.333µs avg=3.076µs 356000 searches, last took 1.541µs avg=3.071µs 357000 searches, last took 1.333µs avg=3.066µs 358000 searches, last took 1.333µs avg=3.062µs 359000 searches, last took 1.167µs avg=3.057µs 360000 searches, last took 1.791µs avg=3.052µs 361000 searches, last took 1.209µs avg=3.048µs 362000 searches, last took 1.375µs avg=3.043µs 363000 searches, last took 1.166µs avg=3.038µs 364000 searches, last took 1.625µs avg=3.033µs 365000 searches, last took 1.125µs avg=3.029µs 366000 searches, last took 1.208µs avg=3.024µs 367000 searches, last took 1.333µs avg=3.019µs 368000 searches, last took 1.791µs avg=3.015µs 369000 searches, last took 1.333µs avg=3.01µs 370000 searches, last took 1.166µs avg=3.006µs 371000 searches, last took 1.125µs avg=3.001µs 372000 searches, last took 1.333µs avg=2.997µs ``` https://github.com/ledgerwatch/erigon-lib/pull/891/files |
||
---|---|---|
.. | ||
check_change_sets.go | ||
check_enc.go | ||
check_index.go | ||
erigon4.go | ||
global_flags_vars.go | ||
history22.go | ||
index_stats.go | ||
opcode_tracer.go | ||
root.go | ||
state_root.go | ||
verify_txlookup.go |