Message114458
| Author |
stutzbach |
| Recipients |
daniel.urban, eric.araujo, rhettinger, stutzbach, terry.reedy |
| Date |
2010年08月20日.21:35:25 |
| SpamBayes Score |
5.8413366e-07 |
| Marked as misclassified |
No |
| Message-id |
<1282340127.65.0.367879505868.issue9212@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
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. |
|