Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #28726
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2012-09-08 08:42 -0700 |
| References | (13 earlier) <mailman.154.1346700607.27098.python-list@python.org> <mailman.155.1346702665.27098.python-list@python.org> <504558cb$0$29978$c3e8da3$5496439d@news.astraweb.com> <mailman.162.1346723805.27098.python-list@python.org> <50456073$0$29978$c3e8da3$5496439d@news.astraweb.com> |
| Message-ID | <87f103a7-2bbd-405f-8a5e-3aaf02c80fff@googlegroups.com> (permalink) |
| Subject | Re: set and dict iteration |
| From | Aaron Brady <castironpi@gmail.com> |
On Monday, September 3, 2012 8:59:16 PM UTC-5, Steven D'Aprano wrote:
> On Mon, 03 Sep 2012 21:50:57 -0400, Dave Angel wrote:
>
>
>
> > On 09/03/2012 09:26 PM, Steven D'Aprano wrote:
>
>
>
> >> An unsigned C int can count up to 4,294,967,295. I propose that you say
>
> >> that is enough iterators for anyone, and use a single, simple, version
>
> >> counter in the dict and the iterator. If somebody exceeds that many
>
> >> iterators to a single dict or set,
>
> >
>
> > I think you have the count confused. it has to be a count of how many
>
> > changes have been made to the dict or set, not how many iterators exist.
>
>
>
> Oops, yes you are absolutely right. It's a version number, not a count of
>
> iterators.
>
>
>
>
>
> --
>
> Steven
Hello. We have a number of proposed solutions so far.
1) Collection of iterators
a) Linked list
i) Uncounted references
ii) Counted references
iii) Weak references
b) Weak set
2) Serial index / timestamp
a) No overflow - Python longs
b) Overflow - C ints / shorts / chars
c) Reset index if no iterators left
3) Iterator count
- Raise exception on set modifications, not iteration
Note, "2b" still leaves the possibility of missing a case and letting an error pass silently, as the current behavior does. The rest catch the error 100% of the time.
Anyway, I plan to develop the above patch for the 'dict' class. Would anyone like to take over or help me do it?
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: set and dict iteration Ian Kelly <ian.g.kelly@gmail.com> - 2012-08-27 13:17 -0600
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-02 10:43 -0700
Re: set and dict iteration Ian Kelly <ian.g.kelly@gmail.com> - 2012-09-03 13:29 -0600
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-03 13:04 -0700
Re: set and dict iteration Dave Angel <d@davea.name> - 2012-09-03 16:27 -0400
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-03 17:24 -0700
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-03 17:24 -0700
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-03 13:04 -0700
Re: set and dict iteration Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-09-04 01:26 +0000
Re: set and dict iteration Dave Angel <d@davea.name> - 2012-09-03 21:50 -0400
Re: set and dict iteration Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-09-04 01:59 +0000
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-08 08:42 -0700
Re: set and dict iteration Aaron Brady <castironpi@gmail.com> - 2012-09-02 10:43 -0700
csiph-web