[New-bugs-announce] [issue13126] find() slower than rfind()
Antoine Pitrou
report at bugs.python.org
Fri Oct 7 21:46:36 CEST 2011
New submission from Antoine Pitrou <pitrou at free.fr>:
With some gcc versions, str.find() is slower than str.rfind():
- 11.22 0.0 s="ABC"*33; ((s+"D")*500+s+"E").find(s+"E") (*100)
- 4.56 0.0 s="ABC"*33; ((s+"D")*500+"E"+s).find("E"+s) (*100)
- 6.71 0.0 s="ABC"*33; (s+"E") in ((s+"D")*300+s+"E") (*100)
- 11.22 0.0 s="ABC"*33; ((s+"D")*500+s+"E").index(s+"E") (*100)
- 11.52 0.0 s="ABC"*33; ((s+"D")*500+s+"E").partition(s+"E") (*100)
- 8.79 0.0 s="ABC"*33; ("E"+s+("D"+s)*500).rfind("E"+s) (*100)
- 3.86 0.0 s="ABC"*33; (s+"E"+("D"+s)*500).rfind(s+"E") (*100)
- 8.80 0.0 s="ABC"*33; ("E"+s+("D"+s)*500).rindex("E"+s) (*100)
- 9.80 0.0 s="ABC"*33; ("E"+s+("D"+s)*500).rpartition("E"+s) (*100)
- 9.83 0.0 s="ABC"*33; ("E"+s+("D"+s)*500).rsplit("E"+s, 1) (*100)
- 11.56 0.0 s="ABC"*33; ((s+"D")*500+s+"E").split(s+"E", 1) (*100)
Attached patch seems to fix it.
----------
components: Interpreter Core
files: findperf.patch
keywords: patch
messages: 145136
nosy: haypo, pitrou
priority: low
severity: normal
status: open
title: find() slower than rfind()
type: performance
versions: Python 3.3
Added file: http://bugs.python.org/file23339/findperf.patch
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13126>
_______________________________________
More information about the New-bugs-announce
mailing list