Daniel Stutzbach <dan...@stutzbachenterprises.com> added the comment:

Thank you for the patch.

We should only iterate over the shorter set if the longer set is really a set 
and not just a sequence.  PySequence_Contains may take O(n) time on a list, 
making the algorithm an expensive O(n**2) overall.  I note that set_isdisjoint 
doesn't try to examine the lengths.

Also, since PyIter_Next returns NULL to indicate the end of the iteration OR to 
indicate an exception, the end of the function should look like this:

    Py_DECREF(it);
    if (PyErr_Occurred())
        return NULL;
    Py_RETURN_TRUE;

Other than those two issues, the patch looks good to me.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue9212>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to