[Python-ideas] set.add() return value
Terry Reedy
tjreedy at udel.edu
Tue Feb 17 16:28:10 CET 2009
Greg Ewing wrote:
> Steven D'Aprano wrote:
>> It's not that saving one line is unimportant, sometimes saving one
>> line is worth it. But there has to be a significant mental cost to
>> that line to make it worth while
>
> There could be cases where the execution speed difference
> is important, especially if testing whether the element is
> in the set is expensive.
>
> Back when I was developing Plex, I found that the biggest
> bottleneck in building a scanner object was the NFA to
> DFA conversion. That algorithm consists almost entirely
> of testing whether things are in sets and adding them if
> they're not, and the set elements themselves are other
> sets, so they're not cheap to do membership tests on.
But why not just unconditionally add them?
Marcin just posted a nice solution for proceeding differently if really
necessary.
> If I'd had an atomic test-and-add operation for sets,
> I could imagine that part running about twice as fast
> as it did.
>
More information about the Python-ideas
mailing list