From e41548b1608eb20d8a1ff240ee9f05d2bbf931d2 Mon Sep 17 00:00:00 2001
From: Martin Bauer <martin.bauer@fau.de>
Date: Fri, 6 Jul 2018 10:43:05 +0200
Subject: [PATCH] Parameter study: faster filtering of already simulated
 scenarios

---
 runhelper/parameterstudy.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/runhelper/parameterstudy.py b/runhelper/parameterstudy.py
index 6b47846c9..edfb77283 100644
--- a/runhelper/parameterstudy.py
+++ b/runhelper/parameterstudy.py
@@ -324,7 +324,8 @@ class ParameterStudy:
 
     def _filter_already_simulated(self, all_runs):
         """Removes all runs from the given list, that are already in the database"""
-        return [r for r in all_runs if not self.db.was_already_simulated(r.parameter_dict)]
+        already_simulated = {json.dumps(e.params) for e in self.db.filter({})}
+        return [r for r in all_runs if json.dumps(r.parameter_dict) not in already_simulated]
 
     @staticmethod
     def _distribute_runs(all_runs, process, num_processes):
-- 
GitLab