Message384127
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 |
|
Date |
User |
Action |
Args |
2020-12-31 18:05:13 | BTaskaya | set | recipients:
+ BTaskaya, rhettinger, terry.reedy, mark.dickinson, christian.heimes, Mark.Shannon, serhiy.storchaka, josh.r, pablogsal |
2020-12-31 18:05:13 | BTaskaya | set | messageid: <1609437913.63.0.250834614327.issue42454@roundup.psfhosted.org> |
2020-12-31 18:05:13 | BTaskaya | link | issue42454 messages |
2020-12-31 18:05:13 | BTaskaya | create | |
|