This makes gene search faster in the related genes kit. All searches after the first now use gene cache data, previously described in #284. This speeds up those gene searches by ~200 ms each.
In the uncached network flow below, note the big gap between the first and second request in the circled area.
That still applies for the very first search. However, as seen below, that time gap is eliminated for subsequent searches.
Clients can also initialize the gene cache before search, if they're savvy, to get the 200 ms savings for initial gene search.
But the optimizations for non-initial search shown above apply by default, out of the box.
(A brief experiment using IndexedDB and idb-keyval revealed that Cache is 12% faster for this use case. Structured cloning might be a main cause of slowness in IndexedDB.)
Coverage decreased (-0.2%) to 88.911% when pulling 50457cf2cd842f8646b7316d5dbfb3a8bd445f78 on faster-gene-search into 4495ca49455eb24dececc89666b2b7bac9420479 on master.
This makes gene search faster in the related genes kit. All searches after the first now use gene cache data, previously described in #284. This speeds up those gene searches by ~200 ms each.
In the uncached network flow below, note the big gap between the first and second request in the circled area.
That still applies for the very first search. However, as seen below, that time gap is eliminated for subsequent searches.
Clients can also initialize the gene cache before search, if they're savvy, to get the 200 ms savings for initial gene search. But the optimizations for non-initial search shown above apply by default, out of the box.
(A brief experiment using IndexedDB and idb-keyval revealed that
Cache
is 12% faster for this use case. Structured cloning might be a main cause of slowness in IndexedDB.)