PR #344 - Use set() where applicable. In many cases this can lead to performance...
authorWilliam Deegan <bill@baddogconsulting.com>
Mon, 7 Aug 2017 22:56:07 +0000 (15:56 -0700)
committerWilliam Deegan <bill@baddogconsulting.com>
Mon, 7 Aug 2017 22:56:07 +0000 (15:56 -0700)
src/CHANGES.txt
src/engine/SCons/Environment.py

index fd41a75c139c76827f248c280770c50c8e47bf5b..b0e88c7d88857d5d1df1dc4ba6c616c85b28418c 100644 (file)
@@ -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
index 480a1d686545703ed30a3cc9aeb5785c44bf3fcb..4f8e41bcb6188ecee52df3675c581caa774782a4 100644 (file)
@@ -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)