Python from Wise Guy's Viewpoint
Frode Vatvedt Fjeld
frodef at cs.uit.no
Tue Oct 21 11:13:30 EDT 2003
More information about the Python-list mailing list
Tue Oct 21 11:13:30 EDT 2003
- Previous message (by thread): Python from Wise Guy's Viewpoint
- Next message (by thread): Python from Wise Guy's Viewpoint
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Alex Martelli <aleax at aleax.it> writes: > [..] the EXISTING call to foo() will NOT be "affected" by the "del > foo" that happens right in the middle of it, since there is no > further attempt to look up the name "foo" in the rest of that call's > progress. [..] What this and my other investigations amount to, is that in Python a "name" is somewhat like a lisp symbol [1]. In particluar, it is an object that has a pre-computed hash-key, which is why hash-table/dictionary lookups are reasonably efficient. My worry was that the actual string hash-key would have to be computed at every function call, which I believe would slow down the process some 10-100 times. I'm happy to hear it is not so. [1] One major difference being that Pyhon names are not first-class objects. This is a big mistake wrt. to supporting interactive programming in my personal opinion. > As for your worries elsewhere expressed that name lookup may impose > excessive overhead, in Python we like to MEASURE performance issues > rather than just reason about them "abstractly"; which is why Python > comes with a handy timeit.py script to time a code snippet > accurately. [...] Thank you for the detailed information. Still, I'm sure you will agree that sometimes reasoning about things can provide insight with predictive powers that you cannot achieve by mere experimentation. -- Frode Vatvedt Fjeld
- Previous message (by thread): Python from Wise Guy's Viewpoint
- Next message (by thread): Python from Wise Guy's Viewpoint
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list