-
Notifications
You must be signed in to change notification settings - Fork 7
Description
The JDBCBackend in ixmp has a preload() function to "preload" all IAMC datapoints/timeseries data. ixmp4 doesn't have such a function yet, but I'm also not sure it needs one. For now, this issue is to clarify if we need such a function.
If we do, this issue can be transformed to add one.
While on this topic, note that JDBCBackend benefits from two kinds of caching right now: one happens in ixmp, and this is mirrored for IXMP4Backend, which receives the same kind of caching with iiasa/ixmp#601.
The other happens in ixmp_source (private repo), where each TimeSeries object has a timeseriescache, which is a mapping from a cache key to the yearly values (i.e. datapoints, I think). Entries are added when addTimeseries() is called or when one TimeSeries is created by copying another.
As far as I know (but @meksor will know best), we currently don't have such a cache for datapoints in ixmp4. If the cache in ixmp_source is implemented well, it may increase the performance there by avoiding reads from the database, and it may be that we have to implement something similar to reach the same level of performance. We might be able to decide whether this is needed based on some performance tests; we already have some performance tests for datapoints ixmp4, but I'm not sure about ixmp/ixmp_source.