summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2017-08-07 15:56:07 -0700
committerWilliam Deegan <bill@baddogconsulting.com>2017-08-07 15:56:07 -0700
commitdb00f5853ca058484d29498756df5dc5c4f7ca07 (patch)
tree3f10b45b77a5b0b24617b2fe4799ce0d3efa1110
parentfd2d3d079bd9c88545f7389809e011c9c72ee85d (diff)
downloadscons-db00f5853ca058484d29498756df5dc5c4f7ca07.tar.gz
PR #344 - Use set() where applicable. In many cases this can lead to performance improvements
-rw-r--r--src/CHANGES.txt1
-rw-r--r--src/engine/SCons/Environment.py4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index fd41a75c..b0e88c7d 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -55,6 +55,7 @@ may cause rebuilds. In no case should rebuilds not happen.
From Alexey Klimkin:
- Use memoization to optimize PATH evaluation across all dependencies per
node. (PR #345)
+ - Use set() where it is applicable (PR #344)
From M. Limber:
- Fixed msvs.py for Visual Studio Express editions that would report
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index 480a1d68..4f8e41bc 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -167,7 +167,7 @@ def _set_SCANNERS(env, key, value):
def _delete_duplicates(l, keep_last):
"""Delete duplicates from a sequence, keeping the first or last."""
- seen={}
+ seen=set()
result=[]
if keep_last: # reverse in & out, then keep first
l.reverse()
@@ -175,7 +175,7 @@ def _delete_duplicates(l, keep_last):
try:
if i not in seen:
result.append(i)
- seen[i]=1
+ seen.add(i)
except TypeError:
# probably unhashable. Just keep it.
result.append(i)