summaryrefslogtreecommitdiff
path: root/lib/dataset_cache.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dataset_cache.rb')
-rw-r--r--lib/dataset_cache.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/dataset_cache.rb b/lib/dataset_cache.rb
index 7a13e9b..3f55167 100644
--- a/lib/dataset_cache.rb
+++ b/lib/dataset_cache.rb
@@ -4,17 +4,21 @@ module Lib
module DatasetCache
@@cache={}
+
+ def self.disable()
+ @@cache=nil
+ end
# same as OpenTox::Dataset.find with caching function
# rational: datasets are reused in crossvalidation very often, cache to save computational effort
# PENDING: may cause memory issues, test with huge datasets
def self.find(dataset_uri, subjectid=nil)
return nil if (dataset_uri==nil)
- d = @@cache[dataset_uri.to_s+"_"+subjectid.to_s]
+ d = @@cache[dataset_uri.to_s+"_"+subjectid.to_s] if @@cache
if d==nil
LOGGER.debug "loading dataset #{dataset_uri}"
d = OpenTox::Dataset.find(dataset_uri, subjectid)
- @@cache[dataset_uri.to_s+"_"+subjectid.to_s] = d
+ @@cache[dataset_uri.to_s+"_"+subjectid.to_s] = d if @@cache
end
d
end