From 303f052d74f601396d65da838d692906bb9fb5da Mon Sep 17 00:00:00 2001
From: Luca Scarabello <luca.scarabello@sed.ethz.ch>
Date: Fri, 9 Jun 2017 17:12:54 +0200
Subject: [PATCH] mpi: additional performance improvement

---
 mpi/scanned_days_manager.py | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/mpi/scanned_days_manager.py b/mpi/scanned_days_manager.py
index b4d23c3..00d247e 100644
--- a/mpi/scanned_days_manager.py
+++ b/mpi/scanned_days_manager.py
@@ -24,12 +24,13 @@ class ScannedDaysManager(object):
                 del container[chunk]
 
     def __filter(self, mydict, chunk_filter, template_filter):
-        if template_filter is None:
-            chunks = set(mydict.keys())
-        else:
+        chunks = set(mydict.keys())
+        if chunk_filter is not None:
+            chunks &= set(chunk_filter)
+        if template_filter is not None:
             template_filter = set(template_filter)
-            chunks = { c for c, t_set in mydict.items() if t_set & template_filter }
-        return chunks if chunk_filter is None else set(chunk_filter) & chunks
+            chunks = { c for c in chunks if mydict[c] & template_filter }
+        return chunks
 
     def add_chunk_to_process(self, chunk):
         if chunk not in self.chunks:
-- 
GitLab