This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
| Author | theller |
|---|---|
| Recipients | theller |
| Date | 2008年04月02日.09:47:45 |
| SpamBayes Score | 0.08631832 |
| Marked as misclassified | No |
| Message-id | <1207129668.4.0.43832609305.issue2534@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
This patch implements type.__instancecheck__ and type.__subclasscheck__, which speeds up isinstance and issubclass calls quite a bit. See also issue #2303. Here are the performance figures for the current trunk version: Current SNV trunk: Using 2.6a1+ (trunk:62102, Apr 2 2008, 11:30:16) [MSC v.1500 32 bit (Intel)] isinstance(42, int) 1000000 loops, best of 3: 0.28 usec per loop isinstance(42, type) 1000000 loops, best of 3: 0.974 usec per loop issubclass(object, type) 1000000 loops, best of 3: 1.1 usec per loop issubclass(object, int) 1000000 loops, best of 3: 1.1 usec per loop issubclass(float, int) 1000000 loops, best of 3: 1.15 usec per loop Current trunk, patch applied: Using 2.6a1+ (trunk:62102M, Apr 2 2008, 11:21:32) [MSC v.1500 32 bit (Intel)] isinstance(42, int) 1000000 loops, best of 3: 0.274 usec per loop isinstance(42, type) 1000000 loops, best of 3: 0.524 usec per loop issubclass(object, type) 1000000 loops, best of 3: 0.661 usec per loop issubclass(object, int) 1000000 loops, best of 3: 0.662 usec per loop issubclass(float, int) 1000000 loops, best of 3: 0.731 usec per loop Python 2.5.2, for comparison: Using 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] isinstance(42, int) 1000000 loops, best of 3: 0.292 usec per loop isinstance(42, type) 1000000 loops, best of 3: 0.417 usec per loop issubclass(object, type) 1000000 loops, best of 3: 0.626 usec per loop issubclass(object, int) 1000000 loops, best of 3: 0.648 usec per loop issubclass(float, int) 1000000 loops, best of 3: 0.752 usec per loop |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2008年04月02日 09:47:48 | theller | set | spambayes_score: 0.0863183 -> 0.08631832 recipients: + theller |
| 2008年04月02日 09:47:48 | theller | set | spambayes_score: 0.0863183 -> 0.0863183 messageid: <1207129668.4.0.43832609305.issue2534@psf.upfronthosting.co.za> |
| 2008年04月02日 09:47:47 | theller | link | issue2534 messages |
| 2008年04月02日 09:47:46 | theller | create | |