Sped ._update() method by factoring try/except out of the inner loop.
diff --git a/Lib/sets.py b/Lib/sets.py
index 6245d53..bb44280 100644
--- a/Lib/sets.py
+++ b/Lib/sets.py
@@ -280,13 +280,14 @@
 
     def _update(self, iterable):
         # The main loop for update() and the subclass __init__() methods.
-        # XXX This can be optimized a bit by first trying the loop
-        # without setting up a try/except for each element.
         data = self._data
         value = True
-        for element in iterable:
+        it = iter(iterable)
+        while True:
             try:
-                data[element] = value
+                for element in it:
+                    data[element] = value
+                return
             except TypeError:
                 transform = getattr(element, "_as_immutable", None)
                 if transform is None: