def load_quantile(self, datestring): """ retuns quantile for this specific tsa, either load cache version, or recreate from tsa parameters: datestring <str> returns: <QuantileArray> """ cachedir = self.__get_cachedir(datestring) cachefilename = os.path.join(cachedir, "quantile.json") quantile_array = None if os.path.isfile(cachefilename): quantile_array = QuantileArray.load(open(cachefilename, "rb")) else: logging.info("cachefile %s does not exist, fallback read from tsa archive", cachefilename) tsa = self.load_tsa(datestring) tsa.cache = True # to enable in memory caching of timeseries # huge performance improvement, from 500s to 70s tsastats = self.load_tsastats(datestring) quantile_array = QuantileArray(tsa, tsastats) quantile_array.dump(open(cachefilename, "wb")) return quantile_array