--- bench_rfind.log 2009-12-20 23:52:36.035807149 +0100 +++ bench_rfast.log 2009-12-20 23:44:48.312805825 +0100 @@ -1,139 +1,139 @@ -2.7a1+ (trunk:76951M, Dec 20 2009, 23:45:50) +2.7a1+ (trunk:76951M, Dec 20 2009, 23:34:14) [GCC 4.3.2] -2009-12-20 23:46:11.301476 +2009-12-20 23:38:21.564641 string unicode (in ms) (in ms) % comment (...) ========== late match, 100 characters -15.06 17.31 87.0 s="ABC"*33; ((s+"D")*500+s+"E").find(s+"E") (*100) -8.92 10.41 85.7 s="ABC"*33; (s+"E") in ((s+"D")*300+s+"E") (*100) -14.88 17.31 86.0 s="ABC"*33; ((s+"D")*500+s+"E").index(s) (*100) -32.82 15.65 209.7 s="ABC"*33; ("E"+s+("D"+s)*500).find("E"+s) (*100) +14.89 17.81 83.6 s="ABC"*33; ((s+"D")*500+s+"E").find(s+"E") (*100) +8.93 10.46 85.4 s="ABC"*33; (s+"E") in ((s+"D")*300+s+"E") (*100) +14.89 17.36 85.7 s="ABC"*33; ((s+"D")*500+s+"E").index(s) (*100) +11.76 13.23 88.8 s="ABC"*33; ("E"+s+("D"+s)*500).find("E"+s) (*100) ========== late match, two characters -2.51 2.75 91.3 ("AB"*300+"C").find("BC") (*1000) -2.18 2.43 90.0 "BC" in ("AB"*300+"C") (*1000) -2.54 2.80 90.7 ("AB"*300+"C").index("BC") (*1000) -4.37 2.46 178.0 ("C"+"AB"*300).rfind("CA") (*1000) +2.50 2.75 90.7 ("AB"*300+"C").find("BC") (*1000) +2.17 2.42 89.5 "BC" in ("AB"*300+"C") (*1000) +2.50 2.75 91.0 ("AB"*300+"C").index("BC") (*1000) +2.11 2.31 91.7 ("C"+"AB"*300).rfind("CA") (*1000) ========== no match, single character -3.84 3.82 100.5 ("A"*1000).find("B") (*1000) -3.56 3.58 99.4 "B" in "A"*1000 (*1000) -6.99 3.85 181.5 ("A"*1000).rfind("B") (*1000) +3.77 3.78 99.9 ("A"*1000).find("B") (*1000) +3.48 3.50 99.2 "B" in "A"*1000 (*1000) +3.70 3.61 102.5 ("A"*1000).rfind("B") (*1000) ========== no match, two characters -7.51 7.93 94.7 ("AB"*1000).find("BC") (*1000) -6.98 7.66 91.1 "BC" in "AB"*1000 (*1000) -14.20 13.61 104.3 ("AB"*1000).rfind("BC") (*1000) +7.00 7.83 89.4 ("AB"*1000).find("BC") (*1000) +6.72 7.51 89.4 "BC" in "AB"*1000 (*1000) +7.77 8.28 93.8 ("AB"*1000).rfind("BC") (*1000) (...) -331.40 400.23 93.6 TOTAL +297.76 392.90 92.0 TOTAL