On 30/08/13 12:58, Amaury Forgeot d'Arc wrote:
>
> 2013/8/30 Carl Friedrich Bolz <[email protected] <mailto:[email protected]>>
>
> Hi Alex,
>
> please revert this change, it can lead to combinatorial explosion: it
> can give a bridge per pattern of where in the list the object is found.
>
>
> Doesn't list.count() traverse all the list in all cases?
It looks like this:
count = 0
i = 0
while i < self.length():
if space.eq_w(self.getitem(i), w_value):
count += 1
i += 1
So there's a guard_true/false for every item.
Note that even changing to:
count += space.eq_w(self.getitem(i), w_value)
does not fix this, because the guard is coming from inside space.istrue,
or space.eq
Cheers,
Carl Friedrich
_______________________________________________
pypy-dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-dev