Message183589
Gregory, thanks. :)
By the way CPython's list type does more than log(N) resize ops:
$ ./listresize.py 10 100 1000 10000 100000
10 list.append() do 4 resize ops.
100 list.append() do 11 resize ops.
1000 list.append() do 28 resize ops.
10000 list.append() do 47 resize ops.
100000 list.append() do 66 resize ops.
I suspect that hash types (dict, set) could gain even more speed as it eliminates the need for rehashing. It's more costly than memcpy() inside realloc().
I understand the proposal as a power user tool. Most people don't need a pneumatic hammer, an ordinary hammer suffices. But in some cases you need a tool with more power. "CPython doesn't gain much from the new API, let's not add it to Python" isn't nice to other implementations that may benefit from it. |
|
Date |
User |
Action |
Args |
2013-03-06 12:37:17 | christian.heimes | set | recipients:
+ christian.heimes, brett.cannon, rhettinger, gregory.p.smith, pitrou, scoder, benjamin.peterson, alex, neologix, serhiy.storchaka |
2013-03-06 12:37:17 | christian.heimes | set | messageid: <1362573437.05.0.906329883469.issue17338@psf.upfronthosting.co.za> |
2013-03-06 12:37:17 | christian.heimes | link | issue17338 messages |
2013-03-06 12:37:16 | christian.heimes | create | |
|