From 3c36c3427cfc14af8edff63da7f9ef96f67e3d65 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 18 Aug 2017 15:36:15 +0200 Subject: [PATCH] Cache top of stack for efficiency Otherwise you need to retrieve this container for every key again. Doesn't matter much, but a bit. Contributes to issue CURA-4186. --- plugins/CuraEngineBackend/StartSliceJob.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index d65731a3ee..000cf8fa4a 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -310,9 +310,10 @@ class StartSliceJob(Job): return # Check all settings for relations, so we can also calculate the correct values for dependent settings. - changed_setting_keys = set(stack.getTop().getAllKeys()) - for key in stack.getTop().getAllKeys(): - instance = stack.getTop().getInstance(key) + top_of_stack = stack.getTop() #Cache for efficiency. + changed_setting_keys = set(top_of_stack.getAllKeys()) + for key in top_of_stack.getAllKeys(): + instance = top_of_stack.getInstance(key) self._addRelations(changed_setting_keys, instance.definition.relations) Job.yieldThread()