vgteam / libbdsg

Optimized sequence graph implementations for graph genomics
MIT License
33 stars 6 forks source link

Add step->path cache to the reference overlay #173

Closed glennhickey closed 1 year ago

glennhickey commented 1 year ago

quoting @adamnovak

I guess we have to come up with an overlay design that can let us go from step handle to path handle without a locate(). Which I think means we might need to copy all the step handles from the backing graph into a map somewhere.

This PR does just that (in a pretty naive way): add a step->path cache in order to speed up PackedReferencePathOverlay::get_path_handle_of_step()

on a chr10 deconstruct test from "chicken-pangenome-sep23` with 8 cores on my desktop

xg/gbwt:      47 s     439,220 kb
gbz (before): 224 s    841,624 kb
gbz (now):    61 s     885,008 kb

Resolves #172