[PROJ] Performance when Auxilary DB used
Greg Troxel
gdt at lexort.com
Mon Aug 31 09:53:20 PDT 2026
My quick impression is that sqlite is not dealing particularly well with
joins over views, and that I can't really fault it as this seems beyond
the scope of the main mission.
I wonder about using memoization as a main strategy here, where
when proj is run with an auxiliary database, it checks the mtime of both
databases, and looks for a memoized merged database in ~/.cache/proj,
perhaps named with the aux path and both timestamps. If so, use it, and
if not, remove old versions, do the merge and write it.
I suspect the first run will be a bit slow, but if proj is used a lot,
then subsequent runs should be fast and on balance a good result. If
proj is only used once with the aux db, then it's unlikely to matter.
If someone has a use case where proj is used a large number of times
with a different aux db every time, that's interesting, but to me
unexpected.
More information about the PROJ
mailing list