Reduced the memory footprint of the module while also increasing performance.
Before:
Total object size of 1106 MiB
~710μs per query (on my machine)
Now
Total object size of 566 MiB
Single loaded version object size of 27.6 MiB
~290μs per query (on my machine)
New methods in the BibleSearch class allow the user to preload given versions at instantiation, single versions as needed, or all supported versions at once. Or just let the class handle the loading of versions.
Version indices are also now split, allowing for faster instantiation if only a limited set of versions is desired.
Reduced the memory footprint of the module while also increasing performance.
Before:
Total object size of 1106 MiB
~710μs per query (on my machine)
Now
Total object size of 566 MiB
Single loaded version object size of 27.6 MiB
~290μs per query (on my machine)
New methods in the BibleSearch class allow the user to preload given versions at instantiation, single versions as needed, or all supported versions at once. Or just let the class handle the loading of versions.
Version indices are also now split, allowing for faster instantiation if only a limited set of versions is desired.