Message384127
| Author |
BTaskaya |
| Recipients |
BTaskaya, Mark.Shannon, christian.heimes, josh.r, mark.dickinson, pablogsal, rhettinger, serhiy.storchaka, terry.reedy |
| Date |
2020εΉ΄12ζ31ζ₯.18:05:13 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1609437913.63.0.250834614327.issue42454@roundup.psfhosted.org> |
| In-reply-to |
| Content |
I've given this another shot, but even though I was able to create a patch that preserved slices as (type(slice), start, stop, step) tuples in the consts_cache, this final optimization prevented me to finalize it; πhttps://github.com/python/cpython/blob/master/Python/compile.c#L5855-L5858
So, unless anyone else came up with a reasonable idea to do this optimization at the compile-time without actually making them hashable, I am re-proposing the idea of making them hashable.
Pro:
- Up to %30+ speedup on slicing with constants (extremely common)
Cons:
- Mappings accepts slices, which would rarely lead some esoteric cases (like the examples given)
Comments would be appreciated |
|