yegle added the comment: Found another example that shows horrible performance when using itertools.product:
def gen(): l = [itertools.permutations(range(10)) for _ in range(10)] g = itertools.product(*l) for i in g: yield i A simple next() to this generator takes 16 seconds on my desktop. I use this recursive product() instead and the performance is acceptable: def product(*args): if len(args) == 1: for i in args[0]: yield [i] else: for i in args[0]: for j in product(*args[1:]): j.append(i) yield j ---------- nosy: +yegle _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10109> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com