-
-
Save sweeneyde/fc20ed5e72dc6b0f3b41c0abaf4ec3be to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from pathlib import Path | |
CPYTHON = Path(r"C:\Users\sween\Source\Repos\cpython2\cpython") | |
def generate_benchmarks(): | |
c_file = (CPYTHON / "Objects" / "unicodeobject.c").read_text() | |
assert ord(max(c_file)) <= 255 | |
python_file = (CPYTHON / "Lib" / "_pydecimal.py").read_text() | |
assert ord(max(python_file)) <= 255 | |
english_file = (CPYTHON / "Doc" / "library" / "stdtypes.rst").read_text() | |
assert ord(max(english_file)) >= 256 | |
binary_file = (CPYTHON / "PCBuild" / "amd64" / "python_d.exe").read_bytes() | |
files = { | |
"c": c_file, | |
"py": python_file, | |
"en": english_file, | |
"bin": binary_file, | |
} | |
lengths = [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] | |
for m in lengths: | |
for file_label, haystack in files.items(): | |
n = len(haystack) | |
start_indexes = [(1_000_003 * i) % (n - m) for i in range(12)] | |
needles = [haystack[i:i+m] for i in start_indexes] | |
for needle in needles: | |
yield file_label, haystack, needle | |
def run_benchmarks(): | |
from pyperf import Runner | |
runner = Runner() | |
# silence the warnings | |
runner.parse_args() | |
runner.args.quiet = True | |
runner._process_priority = lambda *args: None | |
used = set() | |
for file_label, haystack, needle in generate_benchmarks(): | |
name = f"{file_label}:m={len(needle)}:{needle[:5]!a}...{needle[-5:]!a}" | |
if name not in used: | |
used.add(name) | |
params = { | |
"name": name, | |
"stmt": "haystack.count(needle)", | |
"globals": {"needle": needle, "haystack": haystack}, | |
"inner_loops": 3, | |
} | |
runner.timeit(**params) | |
if __name__ == "__main__": | |
run_benchmarks() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PS C:\Users\sween\Source\Repos\cpython2\cpython> .\python.bat -m pyperf compare_to .\real-life.json .\real-life-bm-refactored.py -G | |
Running Release|x64 interpreter... | |
Slower (76): | |
- bin:m=15:b'\xccz\x00\xff\xcc'...b'\x00\xff\xccz\x00': 17.8 us +- 0.2 us -> 43.0 us +- 0.4 us: 2.41x slower | |
- bin:m=20:b'\x00\x00\xc0\x00\x00'...b'0\xa0@\xa0\x00': 7.03 us +- 0.10 us -> 16.2 us +- 0.1 us: 2.31x slower | |
- bin:m=10:b'\xf5\x04n|\xf5'...b'\x04\x9e~~\n': 6.24 us +- 0.14 us -> 14.2 us +- 0.1 us: 2.27x slower | |
- bin:m=10:b'\xffBBB\xff'...b'BBB\xffB': 8.52 us +- 0.11 us -> 17.8 us +- 0.1 us: 2.09x slower | |
- bin:m=20:b'BB\xffBB'...b'BBB\xffB': 4.88 us +- 0.07 us -> 9.78 us +- 0.10 us: 2.01x slower | |
- bin:m=160:b'\x00\x00\x00\x00\x00'...b'\x00\x07\x00\x00\xe0': 16.8 us +- 0.1 us -> 32.0 us +- 0.3 us: 1.91x slower | |
- bin:m=120:b'\x80J\x00\xb2\x80'...b'\xcd\xa8z\x00\xcf': 19.2 us +- 0.3 us -> 34.6 us +- 0.4 us: 1.81x slower | |
- bin:m=15:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 11.4 us +- 0.2 us -> 19.9 us +- 0.3 us: 1.76x slower | |
- bin:m=30:b'\x00\xff\xccz\x00'...b'\xff\xccz\x00\xff': 27.4 us +- 0.3 us -> 46.5 us +- 0.5 us: 1.70x slower | |
- bin:m=10:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 15.5 us +- 0.3 us -> 26.3 us +- 0.3 us: 1.69x slower | |
- bin:m=10:b'\x00\x00\xccz\x00'...b'\xff\xccz\x00\xff': 34.5 us +- 0.3 us -> 56.2 us +- 0.9 us: 1.63x slower | |
- bin:m=10:b'z\x1da}\xc8'...b'\xcbr=.e': 8.86 us +- 0.13 us -> 14.3 us +- 0.2 us: 1.62x slower | |
- en:m=15:'====='...'=====': 8.90 us +- 0.08 us -> 13.9 us +- 0.1 us: 1.57x slower | |
- bin:m=20:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 10.9 us +- 0.1 us -> 16.8 us +- 0.2 us: 1.54x slower | |
- bin:m=80:b'\xcc\xcc\xcc\xcc\xcc'...b'\xcc\xcc\xcc\xcc\xcc': 3.55 us +- 0.06 us -> 5.41 us +- 0.05 us: 1.52x slower | |
- bin:m=120:b'\x93\xe5\xef\xc5X'...b'U^_L\xf9': 13.4 us +- 0.1 us -> 20.3 us +- 0.2 us: 1.52x slower | |
- bin:m=10:b'\xb9\x1a(\n\xad'...b'\xd7g~\x01\x1c': 10.6 us +- 0.1 us -> 15.3 us +- 0.1 us: 1.44x slower | |
- bin:m=40:b'\x00`.rd'...b'\x00\x00\x00@\x00': 15.8 us +- 0.2 us -> 22.7 us +- 0.3 us: 1.44x slower | |
- bin:m=320:b'\x00\x00\x00\x00\x00'...b'z\x00\x00\xa8z': 14.1 us +- 0.2 us -> 19.9 us +- 0.2 us: 1.41x slower | |
- bin:m=30:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 10.2 us +- 0.2 us -> 14.4 us +- 0.3 us: 1.40x slower | |
- bin:m=10:b'2b=p\xa6'...b'\xa5\xfb\xe3\xa5-': 10.6 us +- 0.1 us -> 14.3 us +- 0.2 us: 1.35x slower | |
- bin:m=20:b'\xca\x0b\x9e:\xf0'...b'b\x8b.\x00Q': 33.4 us +- 0.4 us -> 44.4 us +- 0.4 us: 1.33x slower | |
- bin:m=10:b'_n\xc7\xad\xab'...b"\xe3'\x8a\n\x8b": 10.9 us +- 0.1 us -> 14.2 us +- 0.2 us: 1.30x slower | |
- bin:m=160:b'\xff\xff\xaa\xee\xff'...b'\xd5\xff\xff\x82\xe4': 4.99 us +- 0.08 us -> 6.30 us +- 0.04 us: 1.26x slower | |
- c:m=320:'AUTHO'...'-----': 5.13 us +- 0.15 us -> 6.46 us +- 0.08 us: 1.26x slower | |
- py:m=40:'e sam'...'e() o': 18.4 us +- 0.2 us -> 23.2 us +- 0.3 us: 1.26x slower | |
- c:m=20:' '...' P': 52.8 us +- 0.7 us -> 66.5 us +- 0.7 us: 1.26x slower | |
- py:m=240:'), 2)'...'res t': 12.1 us +- 0.2 us -> 14.5 us +- 0.2 us: 1.20x slower | |
- bin:m=160:b'\x01\x01\x01\x01\x01'...b'\x01\x01\x01\x01\x01': 1.78 us +- 0.03 us -> 2.13 us +- 0.06 us: 1.20x slower | |
- c:m=15:' '...' ': 99.2 us +- 1.4 us -> 118 us +- 1 us: 1.19x slower | |
- py:m=320:' de'...'ce of': 8.05 us +- 0.09 us -> 9.49 us +- 0.10 us: 1.18x slower | |
- c:m=40:'data.'...'red "': 41.9 us +- 0.4 us -> 49.3 us +- 0.4 us: 1.18x slower | |
- bin:m=160:b'nfo_d'...b'wide_': 3.50 us +- 0.08 us -> 4.04 us +- 0.04 us: 1.16x slower | |
- py:m=240:'_exac'...'>>> _': 9.73 us +- 0.15 us -> 11.2 us +- 0.1 us: 1.15x slower | |
- c:m=10:';\n '...' if (': 107 us +- 1 us -> 123 us +- 1 us: 1.15x slower | |
- c:m=20:' '...' ': 80.9 us +- 0.7 us -> 92.5 us +- 1.1 us: 1.14x slower | |
- py:m=120:'w is '...' == 0': 14.5 us +- 0.2 us -> 16.4 us +- 0.2 us: 1.13x slower | |
- c:m=320:'n;\n '...');\n ': 25.3 us +- 0.3 us -> 28.4 us +- 0.2 us: 1.12x slower | |
- py:m=320:'args:'...' a nu': 8.95 us +- 0.17 us -> 10.1 us +- 0.1 us: 1.12x slower | |
- bin:m=30:b'\x00\x00\x00\x00\x00'...b'\xccz\x00\xff\xcc': 22.5 us +- 0.6 us -> 25.2 us +- 0.2 us: 1.12x slower | |
- c:m=240:' NULL'...'fix s': 15.5 us +- 0.2 us -> 17.3 us +- 0.3 us: 1.12x slower | |
- bin:m=120:b'^\\X\x96\xff'...b'\x10\x10\x10\r\r': 2.80 us +- 0.08 us -> 3.12 us +- 0.03 us: 1.11x slower | |
- bin:m=240:b'oft.W'...b'\x00\x00\\r\xa8': 10.4 us +- 0.2 us -> 11.6 us +- 0.1 us: 1.11x slower | |
- en:m=20:'+----'...'-----': 11.6 us +- 0.5 us -> 12.9 us +- 0.1 us: 1.11x slower | |
- bin:m=80:b'\x01\x00\x00\x00\x01'...b'\x00\x00\x00\x00\x00': 18.9 us +- 0.2 us -> 20.8 us +- 0.2 us: 1.10x slower | |
- c:m=40:'ND(s2'...' r': 40.0 us +- 0.7 us -> 43.9 us +- 0.4 us: 1.10x slower | |
- bin:m=160:b'|$0\x00u'...b'\xec(\x0f\xb6\x05': 3.90 us +- 0.06 us -> 4.24 us +- 0.04 us: 1.09x slower | |
- py:m=320:'/M). '...' foll': 8.44 us +- 0.09 us -> 9.18 us +- 0.12 us: 1.09x slower | |
- bin:m=60:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 10.2 us +- 0.2 us -> 11.1 us +- 0.2 us: 1.08x slower | |
- c:m=40:', ste'...'e_t c': 42.8 us +- 0.6 us -> 46.2 us +- 0.5 us: 1.08x slower | |
- py:m=240:' Dec'...'he sm': 10.5 us +- 0.2 us -> 11.3 us +- 0.1 us: 1.08x slower | |
- py:m=240:'alTup'..."'ROUN": 2.57 us +- 0.03 us -> 2.75 us +- 0.04 us: 1.07x slower | |
- bin:m=10:b'MZ\x90\x00\x03'...b'\x00\x00\x00\x04\x00': 20.9 us +- 0.2 us -> 22.4 us +- 0.2 us: 1.07x slower | |
- c:m=10:'/\n '...' ': 126 us +- 1 us -> 135 us +- 1 us: 1.07x slower | |
- bin:m=320:b'\xe3\xda\xbe\xfe%'...b'\xdb\xafY\x85j': 2.98 us +- 0.04 us -> 3.19 us +- 0.04 us: 1.07x slower | |
- bin:m=60:b'MZ\x90\x00\x03'...b'\x00\x00\x00\x00\x00': 20.4 us +- 0.3 us -> 21.8 us +- 0.3 us: 1.07x slower | |
- bin:m=15:b'\x80y\xe2\x91G'...b'\x84\xf1\x80O]': 26.0 us +- 0.2 us -> 27.8 us +- 0.3 us: 1.07x slower | |
- py:m=10:'rom h'...'ere o': 51.3 us +- 0.6 us -> 54.4 us +- 0.3 us: 1.06x slower | |
- py:m=160:'bject'...' if': 11.0 us +- 0.1 us -> 11.7 us +- 0.1 us: 1.06x slower | |
- bin:m=40:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 11.6 us +- 0.1 us -> 12.2 us +- 0.1 us: 1.06x slower | |
- py:m=10:'f mod'...'ulo i': 52.9 us +- 0.8 us -> 55.8 us +- 0.4 us: 1.05x slower | |
- c:m=320:' && *'...'fail:': 16.4 us +- 0.2 us -> 17.2 us +- 0.2 us: 1.05x slower | |
- bin:m=160:b'\xf7\x03\xd3\xbb\x92'...b'\xab\x00{,l': 14.0 us +- 0.2 us -> 14.8 us +- 0.1 us: 1.05x slower | |
- bin:m=120:b'MZ\x90\x00\x03'...b'e.\r\r\n': 2.86 us +- 0.11 us -> 3.00 us +- 0.06 us: 1.05x slower | |
- bin:m=240:b'\x00\xba\x94e\x00'...b'\xb2\x00\xb5\xb5\xb5': 12.1 us +- 0.2 us -> 12.7 us +- 0.2 us: 1.04x slower | |
- py:m=120:'s = _'...' is N': 13.0 us +- 0.1 us -> 13.5 us +- 0.1 us: 1.04x slower | |
- py:m=320:' '..."o'\n ": 9.22 us +- 0.08 us -> 9.58 us +- 0.12 us: 1.04x slower | |
- py:m=10:'ontex'...'t=Non': 28.3 us +- 0.3 us -> 29.4 us +- 0.2 us: 1.04x slower | |
- py:m=60:' Exte'...' D': 16.9 us +- 0.2 us -> 17.4 us +- 0.2 us: 1.03x slower | |
- c:m=40:' insi'...'get r': 45.6 us +- 0.6 us -> 46.9 us +- 0.4 us: 1.03x slower | |
- bin:m=15:b'MZ\x90\x00\x03'...b'\x00\x00\xff\xff\x00': 16.4 us +- 0.2 us -> 16.9 us +- 0.2 us: 1.03x slower | |
- c:m=120:'scii"'...'f (co': 22.0 us +- 0.2 us -> 22.5 us +- 0.2 us: 1.02x slower | |
- bin:m=30:b'MZ\x90\x00\x03'...b'\x00\x00\x00\x00\x00': 24.3 us +- 0.3 us -> 24.6 us +- 0.4 us: 1.01x slower | |
- en:m=320:'ntain'...' dete': 9.46 us +- 0.17 us -> 9.54 us +- 0.09 us: 1.01x slower | |
- bin:m=40:b'MZ\x90\x00\x03'...b'\x00\x00\x00\x00\x00': 22.6 us +- 0.2 us -> 22.8 us +- 0.2 us: 1.01x slower | |
- py:m=320:'g dig'...' ': 10.8 us +- 0.1 us -> 10.9 us +- 0.1 us: 1.01x slower | |
Faster (420): | |
- bin:m=160:b'BB\xffBB'...b'eee\x90\x00': 34.0 us +- 0.4 us -> 1.88 us +- 0.08 us: 18.12x faster | |
- bin:m=80:b'+\xba\xfbb\x94'...b'xf\xe7\xa9\xc5': 40.6 us +- 0.4 us -> 4.11 us +- 0.03 us: 9.89x faster | |
- bin:m=60:b'|\xafkl\x07'...b'\xe4\x03A<\xcb': 36.5 us +- 0.4 us -> 4.63 us +- 0.04 us: 7.89x faster | |
- bin:m=40:b'2\x00B\xff\x02'...b'+\xd8\xacu\xc6': 36.9 us +- 0.5 us -> 5.43 us +- 0.06 us: 6.80x faster | |
- bin:m=40:b'\x00\x00\x00\x00\x00'...b'\x01\x00\x00\x00\x00': 151 us +- 2 us -> 23.1 us +- 0.3 us: 6.55x faster | |
- bin:m=30:b'G\xd5\xac\x03P'...b'\xe1\xe7\xa6\xa5^': 32.6 us +- 0.4 us -> 5.48 us +- 0.13 us: 5.95x faster | |
- bin:m=80:b'\x00\x00\x00\x00\x00'...b'\xff\xffI\xd9\xff': 27.2 us +- 0.3 us -> 5.26 us +- 0.11 us: 5.17x faster | |
- bin:m=40:b'\xd3{\xb4\n\x8f'...b'\x92\xb0\x8b]y': 35.5 us +- 0.2 us -> 7.04 us +- 0.06 us: 5.05x faster | |
- bin:m=30:b'\x0b\x10\x0e\x022'...b'_\xf7.\x8dx': 29.1 us +- 0.3 us -> 6.13 us +- 0.06 us: 4.75x faster | |
- bin:m=80:b'\xf0\xf8\xff\xbe\xf0'...b'BBB\xffB': 21.6 us +- 0.2 us -> 5.47 us +- 0.07 us: 3.94x faster | |
- bin:m=20:b'\x01\xf4j\xa8\xc8'...b'\xa0\xcf\xeb\xa7\t': 27.5 us +- 0.3 us -> 7.48 us +- 0.07 us: 3.67x faster | |
- bin:m=15:b'\x16c\xec\x8c '...b'R\xc1\x18\xdb\x0b': 35.4 us +- 0.4 us -> 10.4 us +- 0.1 us: 3.39x faster | |
- bin:m=40:b'SN\x93\xe5\xef'...b'\x90\x96\xde#\x81': 29.7 us +- 0.3 us -> 8.98 us +- 0.10 us: 3.31x faster | |
- bin:m=20:b'\x13\x10\xc6\xd8\x18'...b'\xd9\x06\xfa\x02\x8d': 27.9 us +- 0.3 us -> 8.72 us +- 0.14 us: 3.20x faster | |
- bin:m=15:b'b\x050`\x0c'...b'eQ\x04i.': 33.0 us +- 0.5 us -> 10.4 us +- 0.1 us: 3.16x faster | |
- en:m=80:"g'`` "...' ': 32.0 us +- 0.4 us -> 10.5 us +- 0.1 us: 3.05x faster | |
- bin:m=80:b'MZ\x90\x00\x03'...b'L\xcd!Th': 25.7 us +- 0.3 us -> 9.03 us +- 0.14 us: 2.85x faster | |
- bin:m=60:b'~\xfc\xff\xff\xe8'...b'V\xfc\xff\xff\xe8': 28.1 us +- 0.3 us -> 9.88 us +- 0.25 us: 2.84x faster | |
- c:m=60:';\n '...' ': 112 us +- 2 us -> 42.2 us +- 0.4 us: 2.65x faster | |
- en:m=60:'ring '...', wit': 34.5 us +- 0.8 us -> 13.1 us +- 0.1 us: 2.62x faster | |
- bin:m=60:b'\x00\x00\x00\x00\x00'...b'\xe9Y\x03\x00\x00': 53.7 us +- 0.7 us -> 21.9 us +- 0.2 us: 2.45x faster | |
- bin:m=20:b'\xa8\xaa\x12\xa81'...b"'&\xdff\x8c": 17.1 us +- 0.3 us -> 7.01 us +- 0.16 us: 2.44x faster | |
- bin:m=20:b'\x00\xff\xccz\x00'...b'\xac`\xff\xd0\x84': 31.0 us +- 0.3 us -> 12.8 us +- 0.1 us: 2.42x faster | |
- bin:m=40:b'\xe1\xd4\x1a\xea\xa3'...b'\x96\xe5\xfcc\xfe': 12.4 us +- 0.2 us -> 5.16 us +- 0.05 us: 2.41x faster | |
- bin:m=80:b'D$\x08H\x8b'...b'\xcc\xcc\xcc\xcc\xcc': 26.6 us +- 0.3 us -> 11.1 us +- 0.2 us: 2.40x faster | |
- en:m=60:'-----'...'r ': 28.5 us +- 0.4 us -> 11.9 us +- 0.1 us: 2.40x faster | |
- bin:m=60:b'>\xab\x97\x0c\x8d'...b'\x80\xf3\x9c\xf9\x1c': 32.5 us +- 0.3 us -> 13.7 us +- 0.3 us: 2.36x faster | |
- en:m=80:'` for'...'`` ar': 26.2 us +- 0.7 us -> 11.3 us +- 0.1 us: 2.32x faster | |
- en:m=15:'he co'...'ondin': 47.0 us +- 0.4 us -> 22.1 us +- 0.3 us: 2.13x faster | |
- en:m=10:'re al'...'l ASC': 54.7 us +- 0.9 us -> 25.8 us +- 0.6 us: 2.12x faster | |
- py:m=80:'s, tr'...'\n ': 37.7 us +- 0.4 us -> 17.8 us +- 0.3 us: 2.11x faster | |
- bin:m=15:b'\x00\x00eee'...b'BBB\xffB': 27.8 us +- 0.4 us -> 13.5 us +- 0.2 us: 2.06x faster | |
- bin:m=20:b'd\xd2\xb9\xfd\xf6'...b'\xf9\xa3\x95"n': 15.0 us +- 0.2 us -> 7.26 us +- 0.06 us: 2.06x faster | |
- en:m=15:'t Man'...'Types': 45.9 us +- 0.9 us -> 22.6 us +- 0.3 us: 2.03x faster | |
- py:m=20:' a.to'...'g(con': 40.1 us +- 0.6 us -> 19.9 us +- 0.2 us: 2.01x faster | |
- c:m=80:' Py'...'newpo': 52.9 us +- 0.6 us -> 26.3 us +- 0.2 us: 2.01x faster | |
- en:m=80:'.. XX'...'-type': 26.2 us +- 0.6 us -> 13.0 us +- 0.1 us: 2.01x faster | |
- c:m=80:' '...' }\n ': 62.8 us +- 0.7 us -> 31.3 us +- 0.3 us: 2.01x faster | |
- en:m=15:' - it'...' alw': 39.7 us +- 0.5 us -> 20.0 us +- 0.2 us: 1.98x faster | |
- bin:m=80:b'^^\\X\x96'...b'\n\n\x01\x01\x01': 19.8 us +- 0.3 us -> 10.0 us +- 0.1 us: 1.98x faster | |
- c:m=40:'c PyO'...'Objec': 51.6 us +- 0.7 us -> 26.0 us +- 0.2 us: 1.98x faster | |
- en:m=10:'tring'...'s (fo': 59.7 us +- 1.0 us -> 30.2 us +- 0.3 us: 1.98x faster | |
- en:m=80:' '...'shrt ': 20.4 us +- 0.2 us -> 10.4 us +- 0.1 us: 1.96x faster | |
- en:m=10:'g the'...' :c:f': 52.3 us +- 0.7 us -> 26.7 us +- 0.2 us: 1.96x faster | |
- bin:m=15:b'\xdb\xf5O\xf3;'...b'{\xa6\x96\xdc\xba': 25.6 us +- 0.4 us -> 13.1 us +- 0.1 us: 1.95x faster | |
- en:m=20:'rithm'...'lied:': 37.4 us +- 0.6 us -> 19.2 us +- 0.1 us: 1.94x faster | |
- en:m=15:' or :'...':`flo': 40.7 us +- 0.9 us -> 21.4 us +- 0.2 us: 1.90x faster | |
- en:m=40:' cont'...'er. ': 35.3 us +- 0.8 us -> 18.6 us +- 0.2 us: 1.89x faster | |
- en:m=15:'than '...'``byt': 41.4 us +- 0.5 us -> 22.0 us +- 0.4 us: 1.88x faster | |
- en:m=20:'.. XX'...'ce/da': 32.0 us +- 0.4 us -> 17.0 us +- 0.3 us: 1.88x faster | |
- en:m=40:'--+\n\n'...'`, or': 24.8 us +- 0.5 us -> 13.2 us +- 0.1 us: 1.88x faster | |
- c:m=30:' more'...'e /* ': 108 us +- 1 us -> 57.6 us +- 0.6 us: 1.87x faster | |
- c:m=80:'ed in'...'ogate': 43.4 us +- 0.6 us -> 23.2 us +- 0.2 us: 1.87x faster | |
- c:m=20:'urn _'...'K();\n': 71.1 us +- 0.7 us -> 38.2 us +- 0.7 us: 1.86x faster | |
- c:m=30:'er = '...'de(co': 54.8 us +- 0.7 us -> 29.5 us +- 0.3 us: 1.86x faster | |
- c:m=60:'s4_ou'...'code_': 51.8 us +- 0.8 us -> 27.9 us +- 0.3 us: 1.85x faster | |
- en:m=10:' are '...'repla': 53.1 us +- 1.9 us -> 28.7 us +- 0.2 us: 1.85x faster | |
- en:m=10:'type\n'...' :c': 53.9 us +- 0.7 us -> 29.2 us +- 0.6 us: 1.85x faster | |
- en:m=20:'ct.ca'...') == ': 47.7 us +- 0.9 us -> 25.8 us +- 0.3 us: 1.84x faster | |
- en:m=20:'\n\n '...'are(n': 33.2 us +- 0.6 us -> 18.3 us +- 0.2 us: 1.81x faster | |
- py:m=30:' >>> '...'cal_a': 25.9 us +- 0.4 us -> 14.3 us +- 0.1 us: 1.81x faster | |
- en:m=30:'; con'..."hon's": 25.3 us +- 0.5 us -> 14.0 us +- 0.1 us: 1.80x faster | |
- c:m=60:'\n '...'"";\n ': 78.9 us +- 0.9 us -> 43.8 us +- 0.5 us: 1.80x faster | |
- bin:m=320:b'\xb8\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 28.9 us +- 0.3 us -> 16.1 us +- 0.1 us: 1.80x faster | |
- en:m=15:'value'...'st be': 47.9 us +- 0.7 us -> 26.6 us +- 0.5 us: 1.80x faster | |
- bin:m=320:b'\xff\xd8\xf6\xff\xff'...b'\x00\x00\x00\x00\x00': 31.0 us +- 0.4 us -> 17.2 us +- 0.2 us: 1.80x faster | |
- bin:m=240:b'\x1f\x00\x00\xcd\x1f'...b'@\x86\x00\x00\xc0': 30.5 us +- 0.3 us -> 17.0 us +- 0.2 us: 1.79x faster | |
- en:m=80:'fiers'...'s tha': 22.0 us +- 0.6 us -> 12.3 us +- 0.1 us: 1.79x faster | |
- c:m=80:';\n '...'t(&wr': 35.8 us +- 0.5 us -> 20.1 us +- 0.2 us: 1.79x faster | |
- en:m=30:'-> in'...' retu': 28.1 us +- 0.4 us -> 15.7 us +- 0.1 us: 1.79x faster | |
- en:m=20:'een 8'...'gs (t': 38.4 us +- 0.5 us -> 21.5 us +- 0.2 us: 1.78x faster | |
- c:m=20:'PyUni'...'_Writ': 61.1 us +- 0.7 us -> 34.3 us +- 0.3 us: 1.78x faster | |
- en:m=15:'.. XX'...'feren': 35.3 us +- 0.3 us -> 19.8 us +- 0.3 us: 1.78x faster | |
- py:m=20:'Decim'...'oat(0': 30.1 us +- 0.3 us -> 16.9 us +- 0.2 us: 1.78x faster | |
- en:m=10:'of le'...'ngth ': 65.6 us +- 1.1 us -> 36.8 us +- 0.3 us: 1.78x faster | |
- en:m=15:"'']``"...' For ': 44.5 us +- 0.7 us -> 25.1 us +- 0.2 us: 1.77x faster | |
- en:m=60:'her m'...' *mus': 27.4 us +- 0.7 us -> 15.5 us +- 0.2 us: 1.77x faster | |
- bin:m=160:b'\x00\x00\x00\x01\x08'...b'\x00\x00\x00\x00\x00': 31.4 us +- 0.3 us -> 17.8 us +- 0.2 us: 1.76x faster | |
- c:m=80:'/*\n\nU'...'d by ': 62.5 us +- 0.7 us -> 35.6 us +- 0.4 us: 1.75x faster | |
- py:m=10:'# Cop'...'yrigh': 51.9 us +- 0.5 us -> 29.6 us +- 0.3 us: 1.75x faster | |
- c:m=15:'stati'...'ssize': 92.0 us +- 1.5 us -> 52.5 us +- 0.7 us: 1.75x faster | |
- bin:m=120:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 34.7 us +- 0.3 us -> 19.8 us +- 0.2 us: 1.75x faster | |
- bin:m=160:b'b\xe2\xff\xff_'...b'\x00\x00\x00\x00\x00': 32.6 us +- 0.3 us -> 18.7 us +- 0.2 us: 1.75x faster | |
- c:m=40:'IND(r'...' ': 92.9 us +- 1.1 us -> 53.2 us +- 0.4 us: 1.74x faster | |
- c:m=20:'/*\n\nU'...'lemen': 74.6 us +- 0.8 us -> 42.8 us +- 0.3 us: 1.74x faster | |
- en:m=20:'ary).'...'::\n ': 46.4 us +- 0.7 us -> 26.7 us +- 0.2 us: 1.74x faster | |
- c:m=60:'/*\n\nU'...'edrik': 41.8 us +- 5.3 us -> 24.1 us +- 0.3 us: 1.74x faster | |
- bin:m=240:b'\x00\n\x06\x03\x03'...b'\x00\x00\x00\x00\x00': 32.5 us +- 0.3 us -> 18.8 us +- 0.2 us: 1.73x faster | |
- en:m=15:' 3200'...' ': 50.9 us +- 0.5 us -> 29.5 us +- 0.2 us: 1.73x faster | |
- c:m=60:'llcha'...'f len': 57.8 us +- 0.5 us -> 33.6 us +- 0.4 us: 1.72x faster | |
- bin:m=80:b'\xff\x00\xfe\xfe\xfe'...b'\x00\x00\x00\x00\x00': 18.5 us +- 0.2 us -> 10.8 us +- 0.2 us: 1.71x faster | |
- en:m=80:'ise r'...'or. ': 17.6 us +- 0.2 us -> 10.3 us +- 0.1 us: 1.71x faster | |
- en:m=40:' 012 '...' ': 26.3 us +- 0.3 us -> 15.4 us +- 0.2 us: 1.71x faster | |
- en:m=40:'* Cre'...'ith a': 32.5 us +- 0.7 us -> 19.0 us +- 0.3 us: 1.71x faster | |
- c:m=15:'\nunic'...'ubscr': 72.4 us +- 0.9 us -> 42.5 us +- 0.9 us: 1.70x faster | |
- c:m=10:' /* s'...'q_ass': 109 us +- 1 us -> 63.8 us +- 0.5 us: 1.70x faster | |
- en:m=10:', the'...' memo': 58.1 us +- 0.8 us -> 34.2 us +- 0.4 us: 1.70x faster | |
- en:m=20:'ex::\n'...' cont': 36.1 us +- 0.4 us -> 21.2 us +- 0.2 us: 1.70x faster | |
- py:m=10:'> Ext'...'ended': 52.8 us +- 0.6 us -> 31.1 us +- 0.2 us: 1.70x faster | |
- bin:m=240:b'A\x89H\x08A'...b'\xb8\x04\x00\x00\x00': 33.5 us +- 0.4 us -> 19.7 us +- 0.2 us: 1.70x faster | |
- en:m=10:' a ke'...'y occ': 47.7 us +- 0.6 us -> 28.2 us +- 0.4 us: 1.69x faster | |
- en:m=10:"am']\n"...' 50': 48.7 us +- 0.7 us -> 28.8 us +- 1.5 us: 1.69x faster | |
- py:m=60:' '...' ': 40.1 us +- 0.5 us -> 23.8 us +- 0.2 us: 1.68x faster | |
- bin:m=240:b'MZ\x90\x00\x03'...b'\x00\x00\x00\x00\x00': 33.7 us +- 0.3 us -> 20.0 us +- 0.2 us: 1.68x faster | |
- en:m=20:'bytea'..."efg')": 24.0 us +- 0.3 us -> 14.3 us +- 0.1 us: 1.68x faster | |
- c:m=20:'Forma'...'peErr': 56.1 us +- 0.6 us -> 33.5 us +- 0.4 us: 1.68x faster | |
- py:m=30:' >>>'...'ical_': 24.1 us +- 0.3 us -> 14.4 us +- 0.1 us: 1.67x faster | |
- c:m=80:'F8_FS'...'t, Py': 50.6 us +- 1.3 us -> 30.3 us +- 0.3 us: 1.67x faster | |
- c:m=30:' co'...'2;\n ': 114 us +- 1 us -> 68.6 us +- 0.7 us: 1.67x faster | |
- c:m=80:'d gen'...'y_ssi': 38.6 us +- 0.6 us -> 23.2 us +- 0.2 us: 1.67x faster | |
- bin:m=320:b'MZ\x90\x00\x03'...b'\x00\x00\x02\x00\x00': 32.4 us +- 0.3 us -> 19.5 us +- 0.4 us: 1.66x faster | |
- c:m=10:'tic i'...'nt\nco': 116 us +- 2 us -> 70.0 us +- 0.7 us: 1.66x faster | |
- en:m=20:'x in '...'ce wh': 33.1 us +- 0.6 us -> 20.1 us +- 0.2 us: 1.65x faster | |
- c:m=20:') {\n '...' memc': 68.1 us +- 0.9 us -> 41.4 us +- 0.4 us: 1.64x faster | |
- en:m=60:'.. XX'...'verla': 21.1 us +- 0.3 us -> 12.8 us +- 0.1 us: 1.64x faster | |
- en:m=30:'der:\n'...'acter': 24.5 us +- 0.3 us -> 14.9 us +- 0.1 us: 1.64x faster | |
- c:m=80:' PyUn'...'art +': 39.7 us +- 0.6 us -> 24.2 us +- 0.3 us: 1.64x faster | |
- c:m=15:' PyOb'...'*char': 93.8 us +- 1.3 us -> 57.3 us +- 0.4 us: 1.64x faster | |
- c:m=60:' *\nPy'...'rgs)\n': 41.3 us +- 0.7 us -> 25.3 us +- 0.2 us: 1.64x faster | |
- py:m=40:'float'...'m_tri': 23.2 us +- 0.4 us -> 14.2 us +- 0.1 us: 1.64x faster | |
- c:m=10:' P'...'yComp': 98.9 us +- 1.4 us -> 60.6 us +- 0.5 us: 1.63x faster | |
- bin:m=160:b'\x89\x05\x1ca\x00'...b'\xcc\xcc\xcc\xcc\xcc': 16.3 us +- 0.2 us -> 10.0 us +- 0.1 us: 1.63x faster | |
- en:m=40:'ollow'...'ionar': 25.4 us +- 0.6 us -> 15.6 us +- 0.2 us: 1.63x faster | |
- py:m=40:'\n '...'l_and': 20.2 us +- 0.3 us -> 12.4 us +- 0.2 us: 1.63x faster | |
- en:m=60:'-----'..."'x'``": 12.3 us +- 0.3 us -> 7.54 us +- 0.05 us: 1.63x faster | |
- en:m=60:'matio'...' bool': 17.4 us +- 0.4 us -> 10.7 us +- 0.1 us: 1.63x faster | |
- c:m=120:'\\\n '...'len; ': 33.1 us +- 0.2 us -> 20.4 us +- 0.2 us: 1.63x faster | |
- py:m=10:'min, '...'vmax,': 52.2 us +- 0.7 us -> 32.1 us +- 0.3 us: 1.63x faster | |
- py:m=80:'>>> E'...' ': 26.0 us +- 0.3 us -> 16.0 us +- 0.1 us: 1.62x faster | |
- bin:m=120:b'\x83|$D\x00'...b'\xcc\xcc\xcc\xcc\xcc': 15.3 us +- 0.1 us -> 9.45 us +- 0.11 us: 1.62x faster | |
- en:m=20:'byte '...'If th': 30.6 us +- 0.4 us -> 19.0 us +- 0.3 us: 1.62x faster | |
- en:m=30:': lva'...'diffe': 24.9 us +- 0.3 us -> 15.5 us +- 0.2 us: 1.61x faster | |
- bin:m=320:b'%l{\x00\x00'...b'\xcc\xcc\xcc\xcc\xcc': 15.4 us +- 0.2 us -> 9.64 us +- 0.09 us: 1.60x faster | |
- en:m=30:'e cur'...'\n t': 31.4 us +- 0.5 us -> 19.6 us +- 0.2 us: 1.60x faster | |
- en:m=60:' >>>'...'ytes.': 21.5 us +- 0.4 us -> 13.5 us +- 0.1 us: 1.60x faster | |
- en:m=15:'bcefg'...' >': 36.5 us +- 0.5 us -> 22.8 us +- 0.2 us: 1.60x faster | |
- en:m=30:'objec'...'re un': 30.9 us +- 0.6 us -> 19.4 us +- 0.2 us: 1.60x faster | |
- py:m=10:"d's d"...'igits': 51.4 us +- 0.7 us -> 32.3 us +- 0.3 us: 1.59x faster | |
- py:m=30:'n_wid'...'roups': 24.3 us +- 0.5 us -> 15.3 us +- 0.1 us: 1.59x faster | |
- py:m=40:"')\n "...'cal_x': 20.3 us +- 0.2 us -> 12.8 us +- 0.2 us: 1.59x faster | |
- c:m=60:'TH(se'...'start': 29.9 us +- 0.4 us -> 18.8 us +- 0.2 us: 1.59x faster | |
- py:m=60:' Ass'...'that ': 26.1 us +- 0.4 us -> 16.5 us +- 0.2 us: 1.58x faster | |
- en:m=80:' '...'lass:': 14.5 us +- 0.4 us -> 9.15 us +- 0.09 us: 1.58x faster | |
- c:m=15:' *)op'...' cons': 88.9 us +- 1.1 us -> 56.3 us +- 0.4 us: 1.58x faster | |
- bin:m=80:b'\x00\x00\xff\xff\xff'...b'\x00\x00\x00\x00\x00': 32.7 us +- 0.3 us -> 20.7 us +- 0.2 us: 1.58x faster | |
- c:m=20:' '...'NULL;': 68.4 us +- 0.9 us -> 43.5 us +- 0.4 us: 1.57x faster | |
- en:m=10:'.. XX'...'X: re': 50.0 us +- 0.6 us -> 32.0 us +- 0.7 us: 1.56x faster | |
- c:m=240:';\n\n '...'lags ': 21.5 us +- 0.3 us -> 13.8 us +- 0.2 us: 1.56x faster | |
- py:m=60:'# Cop'...'right': 23.1 us +- 0.3 us -> 14.8 us +- 0.1 us: 1.56x faster | |
- c:m=40:' PyEr'...' ': 87.9 us +- 1.0 us -> 56.7 us +- 0.6 us: 1.55x faster | |
- c:m=30:' '...'rs,\n ': 83.5 us +- 1.2 us -> 53.9 us +- 0.5 us: 1.55x faster | |
- en:m=40:'** 2\n'...' othe': 22.9 us +- 0.3 us -> 14.8 us +- 0.2 us: 1.55x faster | |
- en:m=60:'ualit'...' of u': 20.4 us +- 0.5 us -> 13.2 us +- 0.1 us: 1.55x faster | |
- py:m=15:' ret'...'elf._': 41.6 us +- 0.5 us -> 26.9 us +- 1.7 us: 1.55x faster | |
- py:m=15:'ult a'...' goes': 42.1 us +- 0.5 us -> 27.3 us +- 0.3 us: 1.55x faster | |
- py:m=80:'# Cop'...'Writt': 21.2 us +- 0.3 us -> 13.7 us +- 0.2 us: 1.54x faster | |
- py:m=30:'e ret'...' if ': 42.8 us +- 0.5 us -> 27.7 us +- 0.4 us: 1.54x faster | |
- py:m=20:'et\n '...'ignal': 34.6 us +- 0.5 us -> 22.5 us +- 0.3 us: 1.54x faster | |
- en:m=30:'+\n| `'...' blan': 24.2 us +- 0.5 us -> 15.7 us +- 0.2 us: 1.54x faster | |
- c:m=30:'copy '...'raili': 59.9 us +- 0.8 us -> 39.0 us +- 0.4 us: 1.54x faster | |
- c:m=20:'\n '...' Py_s': 62.2 us +- 0.5 us -> 40.4 us +- 0.4 us: 1.54x faster | |
- en:m=20:'nts a'...'the k': 35.9 us +- 0.6 us -> 23.4 us +- 0.2 us: 1.54x faster | |
- py:m=60:' '...'l_xor': 16.8 us +- 0.2 us -> 11.0 us +- 0.1 us: 1.53x faster | |
- en:m=60:'y wit'...'ersio': 18.2 us +- 0.3 us -> 11.9 us +- 0.1 us: 1.53x faster | |
- bin:m=80:b'%\x7f?\xc5\x18'...b'\x00\x00\x00IE': 32.9 us +- 0.3 us -> 21.6 us +- 0.2 us: 1.53x faster | |
- en:m=40:'.. XX'...'s hav': 24.8 us +- 0.5 us -> 16.3 us +- 0.2 us: 1.53x faster | |
- bin:m=30:b'.\xfe\x14\x8d\x17'...b'\x08\x14>\xcc\xc0': 30.5 us +- 0.3 us -> 20.0 us +- 0.2 us: 1.53x faster | |
- py:m=40:"ed, '"...'_divi': 23.9 us +- 0.3 us -> 15.7 us +- 0.1 us: 1.52x faster | |
- en:m=15:'ytes '...'ult i': 43.6 us +- 0.6 us -> 28.7 us +- 0.2 us: 1.52x faster | |
- bin:m=40:b'\xc2+\xba\xfbb'...b'\x00\xac\x00\x984': 34.7 us +- 0.5 us -> 22.8 us +- 0.3 us: 1.52x faster | |
- en:m=80:'ted t'...' the': 16.4 us +- 0.2 us -> 10.8 us +- 0.1 us: 1.52x faster | |
- py:m=120:' _con'...'"max ': 14.3 us +- 0.2 us -> 9.44 us +- 0.09 us: 1.52x faster | |
- c:m=30:' NULL'...'\n ': 93.8 us +- 1.5 us -> 61.8 us +- 0.7 us: 1.52x faster | |
- py:m=15:' '...'xtend': 39.0 us +- 0.4 us -> 25.8 us +- 0.2 us: 1.51x faster | |
- bin:m=120:b'\x08\x0f\xb7@\x06'...b'\xcc\xcc\xcc\xcc\xcc': 17.8 us +- 0.3 us -> 11.8 us +- 0.1 us: 1.51x faster | |
- bin:m=30:b'+@\xc5\x0c\xfb'...b'\x0c\x80\xd0\xe0C': 31.0 us +- 0.5 us -> 20.5 us +- 0.2 us: 1.51x faster | |
- py:m=60:'derfl'...'nd bo': 27.1 us +- 0.3 us -> 18.0 us +- 0.2 us: 1.51x faster | |
- en:m=40:'defin'...'obyte': 20.7 us +- 0.2 us -> 13.8 us +- 0.2 us: 1.51x faster | |
- py:m=60:' retu'...'lse:\n': 18.5 us +- 0.3 us -> 12.3 us +- 0.1 us: 1.50x faster | |
- en:m=40:'d of '...' attr': 20.0 us +- 0.4 us -> 13.4 us +- 0.1 us: 1.50x faster | |
- c:m=80:' ass'...' PyUn': 38.3 us +- 0.6 us -> 25.7 us +- 0.3 us: 1.49x faster | |
- c:m=60:'y = P'...' re': 45.0 us +- 0.6 us -> 30.2 us +- 0.2 us: 1.49x faster | |
- py:m=320:'# Cop'...'with ': 12.4 us +- 0.2 us -> 8.35 us +- 0.10 us: 1.49x faster | |
- py:m=30:'= _co'...'it=Tr': 27.2 us +- 0.4 us -> 18.3 us +- 0.3 us: 1.49x faster | |
- py:m=15:' '...'gnal ': 51.4 us +- 0.6 us -> 34.6 us +- 0.3 us: 1.48x faster | |
- c:m=40:' c'...'4 *uc': 50.8 us +- 0.7 us -> 34.3 us +- 0.3 us: 1.48x faster | |
- c:m=60:'th of'...'usedD': 35.6 us +- 0.7 us -> 24.0 us +- 0.2 us: 1.48x faster | |
- py:m=20:' if a'...' ': 54.7 us +- 0.7 us -> 37.4 us +- 0.4 us: 1.46x faster | |
- py:m=80:"0E+6'"...' ': 25.4 us +- 0.3 us -> 17.4 us +- 0.2 us: 1.46x faster | |
- en:m=30:'le: u'...'tr.sp': 24.1 us +- 0.3 us -> 16.5 us +- 0.2 us: 1.46x faster | |
- c:m=20:' '...' Py_s': 59.1 us +- 0.9 us -> 40.5 us +- 0.4 us: 1.46x faster | |
- c:m=160:');\n '...'e);\n ': 33.8 us +- 0.3 us -> 23.2 us +- 0.2 us: 1.46x faster | |
- py:m=40:'sep.j'...'rmat_': 24.5 us +- 0.5 us -> 16.9 us +- 0.2 us: 1.46x faster | |
- en:m=60:' body'...'\n.. m': 17.2 us +- 0.4 us -> 11.9 us +- 0.2 us: 1.45x faster | |
- en:m=60:'prefi'...' Wit': 17.1 us +- 0.2 us -> 11.8 us +- 0.1 us: 1.45x faster | |
- py:m=30:' '...' ': 49.3 us +- 0.6 us -> 34.2 us +- 0.4 us: 1.44x faster | |
- c:m=15:' to g'...'e Pyt': 85.5 us +- 1.3 us -> 59.4 us +- 0.6 us: 1.44x faster | |
- py:m=20:'that '...' 9.\n\n': 34.3 us +- 0.4 us -> 23.9 us +- 0.2 us: 1.44x faster | |
- en:m=80:'Since'...'ytear': 16.6 us +- 0.2 us -> 11.6 us +- 0.2 us: 1.42x faster | |
- c:m=30:'bj)->'...'turn ': 73.7 us +- 0.8 us -> 51.9 us +- 0.5 us: 1.42x faster | |
- py:m=20:'ended'...'gical': 25.9 us +- 0.4 us -> 18.2 us +- 0.2 us: 1.42x faster | |
- en:m=80:'0x7F.'...'ytear': 13.8 us +- 0.3 us -> 9.75 us +- 0.14 us: 1.41x faster | |
- c:m=80:' Py'...'enum ': 41.5 us +- 0.5 us -> 29.3 us +- 0.3 us: 1.41x faster | |
- py:m=40:'t doi'...' ': 33.3 us +- 0.5 us -> 23.5 us +- 0.3 us: 1.41x faster | |
- bin:m=120:b'BB\xffBB'...b'BBB\xffB': 5.16 us +- 0.16 us -> 3.65 us +- 0.05 us: 1.41x faster | |
- c:m=40:';\n '...' f;\n ': 65.9 us +- 0.8 us -> 46.6 us +- 0.7 us: 1.41x faster | |
- c:m=40:'_ssiz'...'r *st': 53.9 us +- 0.6 us -> 38.2 us +- 0.4 us: 1.41x faster | |
- en:m=120:"'[A-Z"...' ': 9.74 us +- 0.27 us -> 6.90 us +- 0.08 us: 1.41x faster | |
- c:m=10:' PyOb'...'ject ': 133 us +- 1 us -> 94.4 us +- 1.0 us: 1.41x faster | |
- py:m=15:'e bot'...'ical ': 50.5 us +- 0.9 us -> 35.9 us +- 0.4 us: 1.41x faster | |
- en:m=10:'plus)'...'; in ': 60.7 us +- 0.9 us -> 43.3 us +- 0.4 us: 1.40x faster | |
- py:m=240:'\n '...' for ': 14.3 us +- 0.3 us -> 10.2 us +- 0.1 us: 1.40x faster | |
- en:m=80:':\n\n '...'e rem': 15.1 us +- 0.4 us -> 10.8 us +- 0.1 us: 1.40x faster | |
- c:m=120:' '...'de_2B': 25.5 us +- 0.4 us -> 18.3 us +- 0.2 us: 1.40x faster | |
- c:m=40:'/*\n\nU'...' orig': 47.1 us +- 0.9 us -> 33.7 us +- 0.3 us: 1.40x faster | |
- c:m=15:'/*\n\nU'...'e imp': 88.2 us +- 0.9 us -> 63.1 us +- 0.5 us: 1.40x faster | |
- c:m=30:' ");\n'...', (vo': 58.9 us +- 0.7 us -> 42.3 us +- 0.5 us: 1.39x faster | |
- py:m=40:'\n '...' ': 32.9 us +- 0.5 us -> 23.7 us +- 0.3 us: 1.39x faster | |
- c:m=15:'ject '...'ode, ': 107 us +- 1 us -> 76.9 us +- 0.8 us: 1.39x faster | |
- py:m=320:'ext.r'...'urns ': 13.2 us +- 0.1 us -> 9.57 us +- 0.14 us: 1.38x faster | |
- py:m=20:'signa'...'other': 33.5 us +- 0.4 us -> 24.2 us +- 0.3 us: 1.38x faster | |
- py:m=60:'ec to'...'housa': 20.2 us +- 0.4 us -> 14.7 us +- 0.2 us: 1.38x faster | |
- py:m=15:' cont'...'s Non': 43.9 us +- 0.5 us -> 31.9 us +- 0.3 us: 1.38x faster | |
- en:m=30:'.. XX'...'el an': 25.7 us +- 0.5 us -> 18.7 us +- 0.2 us: 1.37x faster | |
- en:m=240:'---+\n'...'-----': 6.06 us +- 0.08 us -> 4.41 us +- 0.05 us: 1.37x faster | |
- py:m=20:'# Cop'...' 2004': 31.6 us +- 0.4 us -> 23.1 us +- 0.3 us: 1.37x faster | |
- c:m=30:'yObje'...'onst ': 78.5 us +- 0.9 us -> 57.6 us +- 0.7 us: 1.36x faster | |
- py:m=40:' '...'de te': 22.6 us +- 0.3 us -> 16.6 us +- 0.2 us: 1.36x faster | |
- py:m=15:' '...' rai': 36.3 us +- 0.4 us -> 26.8 us +- 0.3 us: 1.36x faster | |
- en:m=160:'retur'...'bove ': 7.88 us +- 0.12 us -> 5.81 us +- 0.09 us: 1.36x faster | |
- en:m=30:'te:: '...' of i': 23.9 us +- 0.3 us -> 17.6 us +- 0.5 us: 1.36x faster | |
- c:m=15:'State'...'onst ': 93.6 us +- 1.9 us -> 69.2 us +- 0.6 us: 1.35x faster | |
- py:m=40:'juste'...'_zero': 22.0 us +- 0.3 us -> 16.3 us +- 0.1 us: 1.35x faster | |
- en:m=30:'n the'...'he su': 23.5 us +- 0.3 us -> 17.4 us +- 0.2 us: 1.35x faster | |
- bin:m=120:b'\xffj\xe5\xff\xff'...b'B\xffBBB': 7.46 us +- 0.09 us -> 5.54 us +- 0.07 us: 1.35x faster | |
- c:m=20:'= (as'...' ': 112 us +- 1 us -> 83.1 us +- 1.2 us: 1.35x faster | |
- c:m=160:'BYTE_'...'nd);\n': 22.6 us +- 0.3 us -> 16.9 us +- 0.2 us: 1.33x faster | |
- en:m=240:'\n\n '...'>\n ': 10.0 us +- 0.1 us -> 7.53 us +- 0.05 us: 1.33x faster | |
- en:m=60:"', 1)"..."one':": 16.1 us +- 0.3 us -> 12.1 us +- 0.1 us: 1.33x faster | |
- en:m=160:' can '...'obj, ': 10.5 us +- 0.1 us -> 7.89 us +- 0.08 us: 1.33x faster | |
- en:m=40:'o acc'...'to 25': 19.9 us +- 0.5 us -> 15.0 us +- 0.1 us: 1.32x faster | |
- py:m=15:' left'...' av': 39.8 us +- 0.5 us -> 30.1 us +- 0.3 us: 1.32x faster | |
- c:m=60:' }\n'...'rp->u': 33.9 us +- 0.6 us -> 25.7 us +- 0.3 us: 1.32x faster | |
- en:m=30:'g add'...'t, th': 24.7 us +- 0.4 us -> 18.8 us +- 0.2 us: 1.32x faster | |
- c:m=120:'code_'...' Ensu': 23.0 us +- 0.4 us -> 17.4 us +- 0.2 us: 1.32x faster | |
- py:m=30:'lf._s'...'e, va': 29.1 us +- 0.3 us -> 22.1 us +- 0.2 us: 1.32x faster | |
- en:m=120:'tes.l'...'bytes': 13.1 us +- 0.2 us -> 9.99 us +- 0.10 us: 1.31x faster | |
- c:m=120:'/*\n\nU'...'>.\n\nM': 19.8 us +- 0.3 us -> 15.1 us +- 0.1 us: 1.31x faster | |
- py:m=80:'cimal'...'ontex': 13.0 us +- 0.1 us -> 9.98 us +- 0.11 us: 1.31x faster | |
- py:m=160:' oper'...'nfini': 11.7 us +- 0.2 us -> 8.96 us +- 0.11 us: 1.31x faster | |
- py:m=30:'d of '...' an': 25.9 us +- 0.4 us -> 19.8 us +- 0.3 us: 1.30x faster | |
- c:m=30:'/*\n\nU'...'n bas': 54.1 us +- 0.7 us -> 41.9 us +- 0.5 us: 1.29x faster | |
- c:m=240:' '...' seco': 17.0 us +- 0.2 us -> 13.1 us +- 0.1 us: 1.29x faster | |
- en:m=160:'with '...'tly, ': 10.5 us +- 0.2 us -> 8.16 us +- 0.10 us: 1.29x faster | |
- py:m=60:'ical_'...'ratio': 16.5 us +- 0.2 us -> 12.9 us +- 0.1 us: 1.29x faster | |
- en:m=240:'erwis'...'\n\n ': 9.52 us +- 0.12 us -> 7.41 us +- 0.08 us: 1.29x faster | |
- c:m=60:'n < 1'...'epeat': 32.3 us +- 0.5 us -> 25.2 us +- 0.2 us: 1.28x faster | |
- c:m=80:'(resu'...' + re': 27.9 us +- 0.5 us -> 21.8 us +- 0.2 us: 1.28x faster | |
- en:m=80:'print'...' sing': 16.5 us +- 0.5 us -> 12.9 us +- 0.1 us: 1.27x faster | |
- py:m=15:'ecima'..."+1'))": 25.6 us +- 0.3 us -> 20.1 us +- 0.4 us: 1.27x faster | |
- en:m=160:'.. ve'...'urn a': 11.9 us +- 0.2 us -> 9.37 us +- 0.24 us: 1.27x faster | |
- py:m=20:'%s is'...'id si': 35.4 us +- 0.5 us -> 27.8 us +- 0.2 us: 1.27x faster | |
- bin:m=60:b'\x00\x00\x00\x10\x00'...b']]\x00cc': 26.2 us +- 0.3 us -> 20.6 us +- 0.2 us: 1.27x faster | |
- en:m=120:'er is'...'= typ': 11.4 us +- 0.1 us -> 9.01 us +- 0.12 us: 1.27x faster | |
- en:m=120:'ng__`'...'nt. ': 12.9 us +- 0.1 us -> 10.2 us +- 0.1 us: 1.27x faster | |
- c:m=10:'c sta'...'rt ge': 119 us +- 1 us -> 94.0 us +- 0.9 us: 1.26x faster | |
- py:m=240:'ot co'...'== n ': 14.3 us +- 0.2 us -> 11.3 us +- 0.1 us: 1.26x faster | |
- py:m=10:'class'...'metho': 37.5 us +- 0.6 us -> 29.7 us +- 0.2 us: 1.26x faster | |
- en:m=160:'tf\n '...'matti': 11.8 us +- 0.1 us -> 9.34 us +- 0.13 us: 1.26x faster | |
- py:m=60:'ne:\n '...'# exp': 14.6 us +- 0.2 us -> 11.6 us +- 0.1 us: 1.26x faster | |
- py:m=15:'g poi'...'he\n ': 66.6 us +- 1.3 us -> 53.0 us +- 0.4 us: 1.26x faster | |
- c:m=10:'short'...'*) Py': 117 us +- 1 us -> 93.4 us +- 0.9 us: 1.26x faster | |
- c:m=40:'\n '...';\n ': 86.4 us +- 1.1 us -> 68.9 us +- 0.9 us: 1.25x faster | |
- py:m=15:'# Cop'...'t (c)': 40.0 us +- 0.6 us -> 31.9 us +- 0.3 us: 1.25x faster | |
- py:m=30:'aN.\n\n'...'if co': 22.5 us +- 0.3 us -> 18.0 us +- 0.3 us: 1.25x faster | |
- py:m=20:'ugh t'...' ': 49.4 us +- 0.6 us -> 39.5 us +- 0.4 us: 1.25x faster | |
- c:m=120:' P'...'har;\n': 21.8 us +- 0.3 us -> 17.5 us +- 0.3 us: 1.25x faster | |
- bin:m=240:b'\xffBBB\xff'...b'B\xffBBB': 2.83 us +- 0.07 us -> 2.27 us +- 0.03 us: 1.25x faster | |
- bin:m=15:b'\xcfFXb='...b'M%\x1b\x11+': 13.5 us +- 0.2 us -> 10.8 us +- 0.1 us: 1.25x faster | |
- py:m=60:' '...'else:': 13.0 us +- 0.2 us -> 10.5 us +- 0.1 us: 1.24x faster | |
- py:m=30:'# Cop'...'on So': 24.6 us +- 0.3 us -> 19.9 us +- 0.2 us: 1.24x faster | |
- c:m=15:'en(p)'...' ': 133 us +- 2 us -> 108 us +- 1 us: 1.23x faster | |
- py:m=10:'(self'...'):\n ': 83.5 us +- 1.8 us -> 67.9 us +- 0.7 us: 1.23x faster | |
- c:m=10:'_t *e'...'nd,\n ': 134 us +- 1 us -> 109 us +- 2 us: 1.23x faster | |
- c:m=10:'yObje'...'ct *\n': 110 us +- 1 us -> 89.9 us +- 0.7 us: 1.23x faster | |
- c:m=160:'(str2'...'_1BYT': 18.8 us +- 0.2 us -> 15.4 us +- 0.2 us: 1.22x faster | |
- en:m=320:'eturn'...'ror`.': 9.27 us +- 0.10 us -> 7.63 us +- 0.08 us: 1.21x faster | |
- py:m=10:'ariso'...'ns\n ': 81.9 us +- 0.6 us -> 67.5 us +- 0.6 us: 1.21x faster | |
- py:m=10:'rgume'...'nt gi': 56.2 us +- 0.7 us -> 46.4 us +- 0.5 us: 1.21x faster | |
- en:m=320:'yle f'...'``byt': 9.29 us +- 0.12 us -> 7.68 us +- 0.07 us: 1.21x faster | |
- bin:m=160:b'\xff\xff\xff\xff,'...b'?\xff\xabz>': 8.82 us +- 0.08 us -> 7.30 us +- 0.06 us: 1.21x faster | |
- py:m=120:'- Dec'...'snan(': 9.11 us +- 0.12 us -> 7.57 us +- 0.07 us: 1.20x faster | |
- en:m=120:'jects'...'ount(': 10.7 us +- 0.2 us -> 8.95 us +- 0.12 us: 1.20x faster | |
- bin:m=240:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 9.88 us +- 0.09 us -> 8.25 us +- 0.10 us: 1.20x faster | |
- py:m=80:') - 1'...'n len': 12.9 us +- 0.2 us -> 10.8 us +- 0.2 us: 1.20x faster | |
- py:m=240:' '...' ': 11.3 us +- 0.2 us -> 9.47 us +- 0.19 us: 1.19x faster | |
- en:m=160:'ot* o'...'thod\n': 12.8 us +- 0.2 us -> 10.7 us +- 0.2 us: 1.19x faster | |
- py:m=80:'dOper'...'ng Na': 12.8 us +- 0.4 us -> 10.8 us +- 0.1 us: 1.19x faster | |
- c:m=320:'maxch'...'rt(ch': 17.8 us +- 0.2 us -> 15.0 us +- 0.1 us: 1.19x faster | |
- py:m=160:'dedCo'...' ': 11.0 us +- 0.2 us -> 9.28 us +- 0.15 us: 1.18x faster | |
- c:m=320:'put=d'...'TH(su': 14.1 us +- 0.2 us -> 11.9 us +- 0.1 us: 1.18x faster | |
- en:m=240:'II wh'...'nsist': 8.74 us +- 0.17 us -> 7.39 us +- 0.09 us: 1.18x faster | |
- py:m=20:'logic'...'f, a,': 34.4 us +- 0.3 us -> 29.1 us +- 0.2 us: 1.18x faster | |
- en:m=160:' '...'ntica': 8.90 us +- 0.08 us -> 7.54 us +- 0.11 us: 1.18x faster | |
- bin:m=320:b'\xbd84\x04\xdf'...b'\x90\x08&F?': 3.91 us +- 0.06 us -> 3.31 us +- 0.03 us: 1.18x faster | |
- en:m=240:' '...'en a ': 9.75 us +- 0.17 us -> 8.26 us +- 0.11 us: 1.18x faster | |
- en:m=160:' this'...'it=-1': 13.5 us +- 0.2 us -> 11.5 us +- 0.1 us: 1.18x faster | |
- en:m=120:'ntext'...'is th': 13.7 us +- 0.2 us -> 11.6 us +- 0.1 us: 1.17x faster | |
- en:m=160:'body\n'...'exc_v': 10.5 us +- 0.2 us -> 8.97 us +- 0.09 us: 1.17x faster | |
- c:m=120:' = Py'...'yUnic': 21.5 us +- 0.4 us -> 18.4 us +- 0.3 us: 1.17x faster | |
- py:m=80:'._int'...'._exp': 10.7 us +- 0.2 us -> 9.16 us +- 0.11 us: 1.17x faster | |
- bin:m=40:b'\x00\x0b\x02\x0e\x1b'...b'\x00\x00\x00\x02\x00': 15.7 us +- 0.2 us -> 13.5 us +- 0.1 us: 1.17x faster | |
- c:m=240:'start'...'er);\n': 16.9 us +- 0.3 us -> 14.5 us +- 0.2 us: 1.17x faster | |
- py:m=160:'w sig'...'e\n ': 16.2 us +- 0.2 us -> 13.9 us +- 0.1 us: 1.17x faster | |
- c:m=120:'error'...'UTF16': 21.7 us +- 0.3 us -> 18.6 us +- 0.2 us: 1.16x faster | |
- en:m=40:'====='...' ``\\n': 12.0 us +- 0.3 us -> 10.3 us +- 0.1 us: 1.16x faster | |
- en:m=240:'that '...'tinct': 10.0 us +- 0.1 us -> 8.62 us +- 0.10 us: 1.16x faster | |
- en:m=160:'.. XX'...'scrib': 11.7 us +- 0.1 us -> 10.1 us +- 0.1 us: 1.16x faster | |
- c:m=160:'/*\n\nU'...'mplem': 19.8 us +- 0.2 us -> 17.1 us +- 0.2 us: 1.16x faster | |
- en:m=120:'s do '...'class': 13.2 us +- 0.2 us -> 11.4 us +- 0.1 us: 1.15x faster | |
- c:m=240:'os < '...'{\n ': 19.2 us +- 0.3 us -> 16.6 us +- 0.3 us: 1.15x faster | |
- py:m=80:'ignal'...'ling)': 13.5 us +- 0.2 us -> 11.7 us +- 0.1 us: 1.15x faster | |
- c:m=160:'= beg'...' (Py_': 17.1 us +- 0.3 us -> 14.9 us +- 0.2 us: 1.15x faster | |
- bin:m=320:b'B\xffBBB'...b'BB\xffBB': 3.32 us +- 0.07 us -> 2.88 us +- 0.04 us: 1.15x faster | |
- en:m=320:'cess '...':`byt': 9.78 us +- 0.12 us -> 8.51 us +- 0.10 us: 1.15x faster | |
- c:m=30:'ags(c'...' Py': 56.4 us +- 0.6 us -> 49.1 us +- 0.4 us: 1.15x faster | |
- en:m=240:' '...'union': 8.06 us +- 0.12 us -> 7.02 us +- 0.07 us: 1.15x faster | |
- en:m=320:'ey ca'...'r exa': 9.25 us +- 0.13 us -> 8.06 us +- 0.08 us: 1.15x faster | |
- en:m=240:'-----'...'-----': 6.24 us +- 0.07 us -> 5.44 us +- 0.08 us: 1.15x faster | |
- py:m=15:'turn '...'\n\n ': 64.6 us +- 0.8 us -> 56.3 us +- 0.5 us: 1.15x faster | |
- py:m=40:'# Cop'...'e Fou': 19.7 us +- 0.3 us -> 17.2 us +- 0.4 us: 1.15x faster | |
- py:m=80:'ounde'...'tripl': 11.4 us +- 0.2 us -> 9.93 us +- 0.12 us: 1.14x faster | |
- c:m=120:'icode'...'sert(': 22.1 us +- 0.3 us -> 19.4 us +- 0.2 us: 1.14x faster | |
- py:m=160:' or s'...'ult_s': 11.7 us +- 0.2 us -> 10.3 us +- 0.1 us: 1.14x faster | |
- py:m=120:' ""'...'on-Na': 11.8 us +- 0.2 us -> 10.4 us +- 0.1 us: 1.14x faster | |
- c:m=120:';\n\n '...'rmat;': 21.7 us +- 0.3 us -> 19.2 us +- 0.2 us: 1.13x faster | |
- en:m=240:'.. XX'...' buil': 9.00 us +- 0.13 us -> 7.95 us +- 0.09 us: 1.13x faster | |
- en:m=160:'\n:cla'...'set o': 9.96 us +- 0.15 us -> 8.79 us +- 0.11 us: 1.13x faster | |
- py:m=120:'dates'...'rithm': 12.1 us +- 0.2 us -> 10.6 us +- 0.1 us: 1.13x faster | |
- py:m=240:' '...'en(de': 7.13 us +- 0.17 us -> 6.30 us +- 0.08 us: 1.13x faster | |
- py:m=120:'rec, '...'.flag': 8.12 us +- 0.09 us -> 7.18 us +- 0.06 us: 1.13x faster | |
- en:m=240:'slici'...' inte': 8.24 us +- 0.10 us -> 7.29 us +- 0.07 us: 1.13x faster | |
- c:m=160:'ULL;\n'...'TH(bu': 15.6 us +- 0.2 us -> 13.8 us +- 0.1 us: 1.13x faster | |
- bin:m=320:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 8.92 us +- 0.09 us -> 7.89 us +- 0.11 us: 1.13x faster | |
- en:m=120:'.. XX'...'*****': 9.86 us +- 0.16 us -> 8.72 us +- 0.10 us: 1.13x faster | |
- c:m=160:' '...'r *p;': 19.0 us +- 0.3 us -> 16.9 us +- 0.2 us: 1.13x faster | |
- en:m=320:'2\\t01'...':: by': 10.7 us +- 0.1 us -> 9.55 us +- 0.09 us: 1.12x faster | |
- en:m=120:'ng on'...'te fo': 11.3 us +- 0.1 us -> 10.1 us +- 0.1 us: 1.12x faster | |
- bin:m=240:b'e\xff\xbf\x8cK'...b'BB\xffBB': 4.91 us +- 0.07 us -> 4.38 us +- 0.04 us: 1.12x faster | |
- py:m=120:'# Cop'...'edu>\n': 11.0 us +- 0.1 us -> 9.79 us +- 0.10 us: 1.12x faster | |
- c:m=240:'UNICO'...' ': 19.0 us +- 0.2 us -> 17.0 us +- 0.2 us: 1.12x faster | |
- py:m=120:' '...'finit': 9.51 us +- 0.13 us -> 8.50 us +- 0.11 us: 1.12x faster | |
- c:m=320:' '...' writ': 14.9 us +- 0.2 us -> 13.3 us +- 0.2 us: 1.12x faster | |
- py:m=240:'_sign'...'ubjec': 8.74 us +- 0.10 us -> 7.82 us +- 0.09 us: 1.12x faster | |
- c:m=120:'CODE_'...'it(&w': 21.0 us +- 0.2 us -> 19.0 us +- 0.2 us: 1.11x faster | |
- en:m=320:'e use'...'tdin>': 8.79 us +- 0.13 us -> 7.93 us +- 0.09 us: 1.11x faster | |
- py:m=240:'Etiny'...'wer_e': 8.69 us +- 0.14 us -> 7.87 us +- 0.08 us: 1.10x faster | |
- c:m=160:'\n '...'harac': 18.0 us +- 0.2 us -> 16.3 us +- 0.3 us: 1.10x faster | |
- en:m=320:'.. XX'...', cla': 8.28 us +- 0.08 us -> 7.50 us +- 0.08 us: 1.10x faster | |
- c:m=160:'_capi'...'t cha': 16.0 us +- 0.2 us -> 14.5 us +- 0.2 us: 1.10x faster | |
- py:m=80:':\n '...'min_w': 15.1 us +- 0.2 us -> 13.7 us +- 0.1 us: 1.10x faster | |
- bin:m=80:b'\x00\x00\x00\x00\x00'...b'\x00\x00\x00\x00\x00': 12.1 us +- 0.2 us -> 11.0 us +- 0.2 us: 1.10x faster | |
- en:m=120:'if th'...'or mo': 13.0 us +- 0.1 us -> 11.9 us +- 0.2 us: 1.09x faster | |
- en:m=320:'ipula'...'t way': 9.07 us +- 0.12 us -> 8.29 us +- 0.08 us: 1.09x faster | |
- py:m=160:' = 18'...')\n4.8': 9.91 us +- 0.13 us -> 9.07 us +- 0.09 us: 1.09x faster | |
- en:m=120:'", c_'...' memo': 10.4 us +- 0.2 us -> 9.51 us +- 0.16 us: 1.09x faster | |
- c:m=240:'tion)'...'}\n};\n': 17.6 us +- 0.3 us -> 16.1 us +- 0.2 us: 1.09x faster | |
- bin:m=320:b'\xa2r7\xff\xa0'...b'\xffk\xe5\xff\xff': 2.51 us +- 0.04 us -> 2.30 us +- 0.03 us: 1.09x faster | |
- py:m=160:'# Cop'...'t tan': 9.55 us +- 0.16 us -> 8.76 us +- 0.10 us: 1.09x faster | |
- c:m=60:'\n '...'ck to': 33.2 us +- 0.5 us -> 30.7 us +- 0.2 us: 1.08x faster | |
- c:m=240:'/*\n\nU'...' Dalk': 14.6 us +- 0.1 us -> 13.5 us +- 0.1 us: 1.08x faster | |
- py:m=40:'teger'...' e': 22.8 us +- 0.4 us -> 21.2 us +- 0.3 us: 1.07x faster | |
- py:m=320:', Dec'...'e, th': 8.94 us +- 0.07 us -> 8.34 us +- 0.09 us: 1.07x faster | |
- py:m=10:"l('0'"...')\n ': 72.9 us +- 1.0 us -> 68.2 us +- 0.9 us: 1.07x faster | |
- py:m=160:'e_fla'...' cont': 11.7 us +- 0.2 us -> 10.9 us +- 0.1 us: 1.07x faster | |
- py:m=120:'cimal'...' Dec': 10.3 us +- 0.1 us -> 9.66 us +- 0.11 us: 1.07x faster | |
- py:m=240:'# Cop'...'z <aa': 8.65 us +- 0.07 us -> 8.12 us +- 0.08 us: 1.07x faster | |
- en:m=120:' | st'...'-----': 7.45 us +- 0.10 us -> 6.99 us +- 0.08 us: 1.07x faster | |
- c:m=320:',\n '...'NULL)': 15.0 us +- 0.2 us -> 14.1 us +- 0.1 us: 1.07x faster | |
- c:m=10:'/*\n\nU'...'nicod': 67.9 us +- 2.1 us -> 63.8 us +- 0.6 us: 1.06x faster | |
- c:m=240:'s: Di'...'um wi': 16.8 us +- 0.2 us -> 15.8 us +- 0.2 us: 1.06x faster | |
- py:m=320:'prec)'...'oundi': 7.75 us +- 0.11 us -> 7.29 us +- 0.08 us: 1.06x faster | |
- bin:m=240:b's\xe8\xff\xffs'...b'\xff\xa4\xf0\xff\xff': 3.20 us +- 0.04 us -> 3.02 us +- 0.02 us: 1.06x faster | |
- c:m=320:'/*\n\nU'...'-----': 12.3 us +- 0.2 us -> 11.6 us +- 0.1 us: 1.06x faster | |
- py:m=320:'elf)\n'...' ': 12.2 us +- 0.2 us -> 11.5 us +- 0.1 us: 1.06x faster | |
- en:m=320:'ginal'..."t('B'": 6.58 us +- 0.09 us -> 6.22 us +- 0.06 us: 1.06x faster | |
- py:m=320:' resu'...' ': 9.89 us +- 0.14 us -> 9.35 us +- 0.13 us: 1.06x faster | |
- c:m=120:'aise '...' != N': 31.9 us +- 0.4 us -> 30.3 us +- 0.3 us: 1.05x faster | |
- c:m=160:'_RawF'...'fs_co': 17.6 us +- 0.3 us -> 16.7 us +- 0.2 us: 1.05x faster | |
- en:m=320:'bytes'..."text'": 8.80 us +- 0.09 us -> 8.36 us +- 0.10 us: 1.05x faster | |
- c:m=10:' \\\n '...' ': 144 us +- 1 us -> 137 us +- 2 us: 1.05x faster | |
- en:m=240:' gro'...'ds fr': 9.29 us +- 0.13 us -> 8.83 us +- 0.09 us: 1.05x faster | |
- py:m=120:'t.to_'..."00.0'": 8.61 us +- 0.09 us -> 8.19 us +- 0.08 us: 1.05x faster | |
- c:m=240:' '...' ca': 17.1 us +- 0.3 us -> 16.2 us +- 0.2 us: 1.05x faster | |
- py:m=160:'inf:\n'...' ': 14.6 us +- 0.2 us -> 13.9 us +- 0.1 us: 1.05x faster | |
- py:m=30:'if f '...' k': 22.5 us +- 0.3 us -> 21.4 us +- 0.2 us: 1.05x faster | |
- en:m=320:'ss th'...'ances': 8.54 us +- 0.19 us -> 8.13 us +- 0.07 us: 1.05x faster | |
- c:m=320:'CODE_'...'le(Py': 13.8 us +- 0.2 us -> 13.2 us +- 0.1 us: 1.05x faster | |
- en:m=40:' widt'...' an `': 19.9 us +- 0.4 us -> 19.0 us +- 0.3 us: 1.05x faster | |
- en:m=10:'\n\n '...' ': 43.4 us +- 0.5 us -> 41.5 us +- 0.4 us: 1.05x faster | |
- py:m=30:'ntege'...' if n': 23.0 us +- 0.3 us -> 22.1 us +- 0.2 us: 1.04x faster | |
- bin:m=60:b'\xd6\xff\xffb\xdc'...b'\x00\x00\x00\x00\x00': 22.5 us +- 0.3 us -> 21.7 us +- 0.3 us: 1.04x faster | |
- c:m=160:' '...'icode': 24.0 us +- 0.3 us -> 23.2 us +- 0.3 us: 1.04x faster | |
- py:m=240:'t(pre'...'58979': 7.64 us +- 0.09 us -> 7.37 us +- 0.06 us: 1.04x faster | |
- c:m=15:'oc = '...'CS4 *': 89.6 us +- 1.3 us -> 86.6 us +- 1.7 us: 1.03x faster | |
- bin:m=160:b'MZ\x90\x00\x03'...b'\x89\x9c!C\x88': 4.46 us +- 0.06 us -> 4.32 us +- 0.05 us: 1.03x faster | |
- en:m=160:' incl'..."'C' o": 8.64 us +- 0.07 us -> 8.38 us +- 0.16 us: 1.03x faster | |
- bin:m=240:b'A\x940\x91B'...b'\xfb\xf6\xed\xc3\x9e': 3.59 us +- 0.06 us -> 3.48 us +- 0.03 us: 1.03x faster | |
- py:m=80:')\n '...' # s': 17.0 us +- 0.3 us -> 16.5 us +- 0.1 us: 1.03x faster | |
- bin:m=20:b'MZ\x90\x00\x03'...b'\x00\xb8\x00\x00\x00': 27.6 us +- 0.4 us -> 26.9 us +- 0.2 us: 1.03x faster | |
- c:m=320:'regul'...'racte': 15.4 us +- 0.2 us -> 14.9 us +- 0.1 us: 1.03x faster | |
- py:m=160:'._exp'...'erflo': 9.62 us +- 0.16 us -> 9.38 us +- 0.11 us: 1.03x faster | |
- c:m=160:' _PyU'...'d;\n ': 30.0 us +- 0.3 us -> 29.3 us +- 0.3 us: 1.02x faster | |
- bin:m=30:b'\xba@_i\x1c'...b'\xf0\x10\x801\xa3': 24.6 us +- 0.2 us -> 24.1 us +- 0.3 us: 1.02x faster | |
- py:m=60:'retur'...'ions.': 13.6 us +- 0.2 us -> 13.4 us +- 0.2 us: 1.02x faster | |
- py:m=120:'lse:\n'...' ': 15.0 us +- 0.2 us -> 14.8 us +- 0.1 us: 1.01x faster | |
- py:m=20:' '...'NaN (': 29.9 us +- 0.4 us -> 29.5 us +- 0.2 us: 1.01x faster | |
- bin:m=320:b'\xcc\xcc\xcc\xcc\xcc'...b'\xcc\xcc\xcc\xcc\xcc': 3.86 us +- 0.04 us -> 3.80 us +- 0.08 us: 1.01x faster | |
- bin:m=240:b'\xcc\xcc\xcc\xcc\xcc'...b'\xcc\xcc\xcc\xcc\xcc': 3.70 us +- 0.03 us -> 3.66 us +- 0.03 us: 1.01x faster | |
- c:m=80:'ted s'...'ed ch': 26.7 us +- 0.4 us -> 26.4 us +- 0.2 us: 1.01x faster | |
Benchmark hidden because not significant (11): c:m=20:'9f9f3'...'*/\n{\n', c:m=30:', p, '...' r', py:m=160:' # u'...'f = _', py:m=160:'EEE 7'...'pleme', c:m=240:'Exc_V'...'l;\n ', c:m=240:'ssert'...'de) +', en:m=240:'is st'...'tes-l', c:m=320:'er, c'...' ', c:m=320:';\n '...'encod', py:m=320:'lity_'...'nted:', bin:m=320:b'\x00\xf8\xf3\xee\x00'...b'\x00\x00\x00\x00\x00' | |
Geometric mean: 1.33x faster |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from random import Random | |
import pyperf | |
# shuffled alphabet | |
alphabet = 'DHUXYEZQCLFKISBVRGNAMWPTOJ' | |
zipf = [1/x for x in range(1, 1+len(alphabet))] | |
def zipf_string(length, seed): | |
letters = Random(seed).choices(alphabet, weights=zipf, k=length) | |
return ''.join(letters) | |
needle_lengths = [ | |
2, 3, 4, 6, | |
8, 12, 16, 24, | |
32, 48, 64, 96, | |
128, 192, 256, 384 | |
] | |
haystack_lengths = [ | |
500, 750, 1000, 1500, | |
2000, 3000, 4000, 6000, | |
8000, 12000, 16000, 24000, | |
32000, 48000, 64000, 96000, | |
] | |
def generate_benchmarks(): | |
output = [] | |
for m in needle_lengths: | |
for n in haystack_lengths: | |
if n < m: | |
continue | |
for s in (1, 2, 3): | |
seed = (s*n + m) % 1_000_003 | |
needle = zipf_string(m, seed) | |
haystack = zipf_string(n, seed ** 2) | |
name = f"needle={m}, haystack={n}, seed={s}" | |
output.append((name, needle, haystack)) | |
with open("_generated.py", 'w') as f: | |
print("benches = [", file=f) | |
for name, needle, haystack in output: | |
print(f" {(name, needle, haystack)!r},", file=f) | |
print("]", file=f) | |
def bench(loops, needle, haystack): | |
range_it = iter(range(loops)) | |
t0 = pyperf.perf_counter() | |
for _ in range_it: | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
haystack.count(needle) | |
return pyperf.perf_counter() - t0 | |
def do_timings(): | |
import pyperf | |
runner = pyperf.Runner() | |
runner._process_priority = lambda *args: None | |
from _generated import benches | |
for name, needle, haystack in benches: | |
runner.bench_time_func( | |
name, | |
bench, needle, haystack, | |
inner_loops=10, | |
) | |
if __name__ == "__main__": | |
# generate_benchmarks() | |
do_timings() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PS C:\Users\sween\Source\Repos\cpython2\cpython> .\python.bat -m pyperf compare_to .\pyperf-main-final.json .\pyperf-bm-final.json -G | |
Running Release|x64 interpreter... | |
Slower (83): | |
- needle=24, haystack=32000, seed=1: 5.05 us +- 0.08 us -> 8.00 us +- 0.09 us: 1.59x slower | |
- needle=6, haystack=32000, seed=1: 12.7 us +- 0.1 us -> 19.5 us +- 0.2 us: 1.54x slower | |
- needle=32, haystack=32000, seed=1: 6.01 us +- 0.06 us -> 8.08 us +- 0.13 us: 1.34x slower | |
- needle=64, haystack=32000, seed=2: 4.03 us +- 0.05 us -> 5.36 us +- 0.06 us: 1.33x slower | |
- needle=96, haystack=48000, seed=1: 6.65 us +- 0.06 us -> 8.59 us +- 0.08 us: 1.29x slower | |
- needle=128, haystack=3000, seed=2: 733 ns +- 8 ns -> 921 ns +- 20 ns: 1.26x slower | |
- needle=24, haystack=32000, seed=3: 6.72 us +- 0.07 us -> 8.26 us +- 0.08 us: 1.23x slower | |
- needle=96, haystack=32000, seed=1: 4.19 us +- 0.05 us -> 5.10 us +- 0.06 us: 1.22x slower | |
- needle=2, haystack=4000, seed=1: 1.38 us +- 0.01 us -> 1.66 us +- 0.01 us: 1.20x slower | |
- needle=64, haystack=32000, seed=1: 4.60 us +- 0.06 us -> 5.38 us +- 0.07 us: 1.17x slower | |
- needle=2, haystack=2000, seed=2: 742 ns +- 15 ns -> 868 ns +- 8 ns: 1.17x slower | |
- needle=8, haystack=32000, seed=3: 14.4 us +- 0.2 us -> 16.7 us +- 0.2 us: 1.16x slower | |
- needle=3, haystack=16000, seed=1: 4.45 us +- 0.09 us -> 5.14 us +- 0.08 us: 1.16x slower | |
- needle=2, haystack=16000, seed=2: 5.90 us +- 0.09 us -> 6.79 us +- 0.10 us: 1.15x slower | |
- needle=3, haystack=8000, seed=2: 2.20 us +- 0.04 us -> 2.54 us +- 0.03 us: 1.15x slower | |
- needle=128, haystack=6000, seed=2: 1.24 us +- 0.01 us -> 1.40 us +- 0.02 us: 1.14x slower | |
- needle=2, haystack=32000, seed=3: 12.6 us +- 0.2 us -> 14.2 us +- 0.2 us: 1.13x slower | |
- needle=2, haystack=48000, seed=2: 19.2 us +- 0.1 us -> 21.6 us +- 0.2 us: 1.12x slower | |
- needle=2, haystack=32000, seed=1: 12.4 us +- 0.6 us -> 13.9 us +- 0.1 us: 1.12x slower | |
- needle=128, haystack=12000, seed=1: 2.08 us +- 0.02 us -> 2.33 us +- 0.02 us: 1.12x slower | |
- needle=2, haystack=96000, seed=1: 40.6 us +- 0.5 us -> 45.1 us +- 0.4 us: 1.11x slower | |
- needle=3, haystack=6000, seed=1: 1.65 us +- 0.05 us -> 1.82 us +- 0.02 us: 1.10x slower | |
- needle=64, haystack=64000, seed=1: 9.66 us +- 0.06 us -> 10.7 us +- 0.1 us: 1.10x slower | |
- needle=2, haystack=4000, seed=3: 1.61 us +- 0.03 us -> 1.77 us +- 0.05 us: 1.10x slower | |
- needle=2, haystack=2000, seed=1: 764 ns +- 20 ns -> 836 ns +- 12 ns: 1.10x slower | |
- needle=2, haystack=24000, seed=3: 10.6 us +- 0.1 us -> 11.5 us +- 0.2 us: 1.09x slower | |
- needle=192, haystack=12000, seed=3: 2.16 us +- 0.02 us -> 2.35 us +- 0.02 us: 1.09x slower | |
- needle=2, haystack=8000, seed=1: 3.22 us +- 0.06 us -> 3.51 us +- 0.05 us: 1.09x slower | |
- needle=2, haystack=1000, seed=2: 434 ns +- 8 ns -> 473 ns +- 6 ns: 1.09x slower | |
- needle=64, haystack=48000, seed=3: 8.39 us +- 0.06 us -> 9.11 us +- 0.09 us: 1.09x slower | |
- needle=3, haystack=3000, seed=1: 871 ns +- 23 ns -> 946 ns +- 14 ns: 1.09x slower | |
- needle=2, haystack=750, seed=1: 341 ns +- 6 ns -> 370 ns +- 6 ns: 1.08x slower | |
- needle=2, haystack=12000, seed=2: 4.82 us +- 0.05 us -> 5.22 us +- 0.08 us: 1.08x slower | |
- needle=96, haystack=64000, seed=3: 10.3 us +- 0.2 us -> 11.2 us +- 0.1 us: 1.08x slower | |
- needle=3, haystack=4000, seed=3: 1.19 us +- 0.02 us -> 1.29 us +- 0.02 us: 1.08x slower | |
- needle=3, haystack=1500, seed=2: 482 ns +- 5 ns -> 521 ns +- 8 ns: 1.08x slower | |
- needle=2, haystack=6000, seed=2: 2.45 us +- 0.03 us -> 2.65 us +- 0.04 us: 1.08x slower | |
- needle=128, haystack=4000, seed=1: 891 ns +- 18 ns -> 961 ns +- 8 ns: 1.08x slower | |
- needle=2, haystack=4000, seed=2: 1.59 us +- 0.03 us -> 1.72 us +- 0.03 us: 1.08x slower | |
- needle=2, haystack=1500, seed=3: 610 ns +- 9 ns -> 656 ns +- 8 ns: 1.08x slower | |
- needle=2, haystack=8000, seed=3: 3.07 us +- 0.04 us -> 3.29 us +- 0.04 us: 1.07x slower | |
- needle=256, haystack=4000, seed=3: 1.20 us +- 0.01 us -> 1.29 us +- 0.02 us: 1.07x slower | |
- needle=2, haystack=3000, seed=3: 1.28 us +- 0.01 us -> 1.37 us +- 0.01 us: 1.07x slower | |
- needle=2, haystack=8000, seed=2: 3.51 us +- 0.05 us -> 3.75 us +- 0.09 us: 1.07x slower | |
- needle=3, haystack=1000, seed=3: 358 ns +- 11 ns -> 383 ns +- 6 ns: 1.07x slower | |
- needle=384, haystack=64000, seed=1: 13.6 us +- 0.2 us -> 14.5 us +- 0.1 us: 1.07x slower | |
- needle=6, haystack=32000, seed=3: 19.9 us +- 0.4 us -> 21.1 us +- 0.2 us: 1.06x slower | |
- needle=128, haystack=4000, seed=3: 1.00 us +- 0.03 us -> 1.06 us +- 0.01 us: 1.06x slower | |
- needle=2, haystack=500, seed=2: 293 ns +- 3 ns -> 310 ns +- 10 ns: 1.06x slower | |
- needle=3, haystack=12000, seed=1: 3.72 us +- 0.07 us -> 3.92 us +- 0.06 us: 1.05x slower | |
- needle=128, haystack=4000, seed=2: 953 ns +- 15 ns -> 1.00 us +- 0.01 us: 1.05x slower | |
- needle=3, haystack=6000, seed=2: 1.80 us +- 0.03 us -> 1.89 us +- 0.02 us: 1.05x slower | |
- needle=192, haystack=16000, seed=2: 2.65 us +- 0.04 us -> 2.79 us +- 0.03 us: 1.05x slower | |
- needle=2, haystack=750, seed=3: 494 ns +- 4 ns -> 517 ns +- 6 ns: 1.05x slower | |
- needle=128, haystack=12000, seed=3: 2.15 us +- 0.01 us -> 2.24 us +- 0.02 us: 1.04x slower | |
- needle=3, haystack=2000, seed=3: 645 ns +- 27 ns -> 673 ns +- 15 ns: 1.04x slower | |
- needle=3, haystack=3000, seed=2: 898 ns +- 24 ns -> 934 ns +- 16 ns: 1.04x slower | |
- needle=128, haystack=6000, seed=1: 1.25 us +- 0.02 us -> 1.30 us +- 0.01 us: 1.04x slower | |
- needle=96, haystack=96000, seed=2: 15.9 us +- 0.1 us -> 16.5 us +- 0.1 us: 1.04x slower | |
- needle=8, haystack=48000, seed=3: 23.0 us +- 0.5 us -> 23.9 us +- 0.3 us: 1.04x slower | |
- needle=4, haystack=1500, seed=3: 430 ns +- 14 ns -> 446 ns +- 9 ns: 1.04x slower | |
- needle=3, haystack=750, seed=3: 296 ns +- 4 ns -> 307 ns +- 4 ns: 1.03x slower | |
- needle=2, haystack=500, seed=3: 304 ns +- 5 ns -> 314 ns +- 10 ns: 1.03x slower | |
- needle=2, haystack=24000, seed=1: 12.0 us +- 0.2 us -> 12.4 us +- 0.2 us: 1.03x slower | |
- needle=2, haystack=1000, seed=1: 477 ns +- 11 ns -> 492 ns +- 7 ns: 1.03x slower | |
- needle=64, haystack=32000, seed=3: 4.83 us +- 0.06 us -> 4.97 us +- 0.05 us: 1.03x slower | |
- needle=8, haystack=12000, seed=3: 5.46 us +- 0.08 us -> 5.62 us +- 0.12 us: 1.03x slower | |
- needle=32, haystack=64000, seed=3: 15.8 us +- 0.2 us -> 16.3 us +- 0.2 us: 1.03x slower | |
- needle=32, haystack=64000, seed=2: 16.8 us +- 0.2 us -> 17.3 us +- 0.2 us: 1.03x slower | |
- needle=48, haystack=96000, seed=3: 17.2 us +- 0.2 us -> 17.7 us +- 0.2 us: 1.03x slower | |
- needle=3, haystack=500, seed=2: 244 ns +- 4 ns -> 250 ns +- 3 ns: 1.03x slower | |
- needle=24, haystack=48000, seed=1: 12.7 us +- 0.2 us -> 13.0 us +- 0.3 us: 1.03x slower | |
- needle=6, haystack=1500, seed=2: 347 ns +- 6 ns -> 355 ns +- 7 ns: 1.03x slower | |
- needle=3, haystack=1000, seed=1: 400 ns +- 5 ns -> 408 ns +- 7 ns: 1.02x slower | |
- needle=192, haystack=2000, seed=2: 615 ns +- 6 ns -> 628 ns +- 6 ns: 1.02x slower | |
- needle=4, haystack=1000, seed=1: 328 ns +- 9 ns -> 333 ns +- 6 ns: 1.02x slower | |
- needle=6, haystack=1000, seed=3: 258 ns +- 6 ns -> 262 ns +- 4 ns: 1.02x slower | |
- needle=384, haystack=32000, seed=2: 7.14 us +- 0.10 us -> 7.25 us +- 0.07 us: 1.01x slower | |
- needle=256, haystack=6000, seed=2: 1.48 us +- 0.02 us -> 1.50 us +- 0.03 us: 1.01x slower | |
- needle=8, haystack=48000, seed=2: 24.8 us +- 0.6 us -> 25.1 us +- 0.3 us: 1.01x slower | |
- needle=2, haystack=6000, seed=3: 2.95 us +- 0.06 us -> 2.99 us +- 0.06 us: 1.01x slower | |
- needle=2, haystack=1500, seed=1: 744 ns +- 9 ns -> 753 ns +- 8 ns: 1.01x slower | |
- needle=192, haystack=3000, seed=1: 885 ns +- 10 ns -> 894 ns +- 8 ns: 1.01x slower | |
Faster (654): | |
- needle=96, haystack=64000, seed=2: 45.5 us +- 0.6 us -> 10.1 us +- 0.1 us: 4.49x faster | |
- needle=96, haystack=96000, seed=3: 49.5 us +- 0.8 us -> 15.1 us +- 0.1 us: 3.28x faster | |
- needle=12, haystack=48000, seed=1: 48.8 us +- 0.3 us -> 18.4 us +- 0.2 us: 2.65x faster | |
- needle=48, haystack=48000, seed=1: 19.6 us +- 0.2 us -> 7.99 us +- 0.07 us: 2.46x faster | |
- needle=64, haystack=64000, seed=2: 19.9 us +- 0.1 us -> 8.34 us +- 0.11 us: 2.39x faster | |
- needle=24, haystack=96000, seed=3: 55.3 us +- 0.5 us -> 23.3 us +- 0.3 us: 2.37x faster | |
- needle=8, haystack=32000, seed=1: 33.7 us +- 0.3 us -> 15.1 us +- 0.2 us: 2.22x faster | |
- needle=64, haystack=96000, seed=1: 35.2 us +- 1.4 us -> 16.4 us +- 0.2 us: 2.15x faster | |
- needle=12, haystack=32000, seed=1: 19.1 us +- 0.2 us -> 9.35 us +- 0.14 us: 2.04x faster | |
- needle=32, haystack=64000, seed=1: 18.0 us +- 0.3 us -> 9.63 us +- 0.09 us: 1.87x faster | |
- needle=16, haystack=64000, seed=2: 36.2 us +- 0.5 us -> 19.6 us +- 0.2 us: 1.85x faster | |
- needle=48, haystack=32000, seed=1: 11.7 us +- 0.1 us -> 6.37 us +- 0.06 us: 1.84x faster | |
- needle=12, haystack=96000, seed=2: 75.8 us +- 0.9 us -> 41.6 us +- 0.5 us: 1.82x faster | |
- needle=48, haystack=96000, seed=1: 34.3 us +- 0.4 us -> 19.0 us +- 0.2 us: 1.81x faster | |
- needle=12, haystack=64000, seed=3: 46.7 us +- 0.5 us -> 25.9 us +- 0.3 us: 1.81x faster | |
- needle=64, haystack=96000, seed=2: 24.7 us +- 0.5 us -> 13.9 us +- 0.2 us: 1.77x faster | |
- needle=6, haystack=64000, seed=1: 76.5 us +- 1.2 us -> 43.9 us +- 0.5 us: 1.74x faster | |
- needle=6, haystack=32000, seed=2: 33.0 us +- 0.3 us -> 19.0 us +- 0.2 us: 1.74x faster | |
- needle=32, haystack=48000, seed=3: 14.7 us +- 0.2 us -> 8.51 us +- 0.12 us: 1.73x faster | |
- needle=96, haystack=64000, seed=1: 16.2 us +- 0.2 us -> 9.51 us +- 0.07 us: 1.70x faster | |
- needle=96, haystack=32000, seed=2: 7.69 us +- 0.08 us -> 4.64 us +- 0.06 us: 1.66x faster | |
- needle=16, haystack=48000, seed=1: 22.2 us +- 0.4 us -> 13.8 us +- 0.1 us: 1.61x faster | |
- needle=8, haystack=96000, seed=3: 82.8 us +- 2.0 us -> 51.9 us +- 0.8 us: 1.60x faster | |
- needle=16, haystack=48000, seed=3: 22.0 us +- 0.6 us -> 13.8 us +- 0.2 us: 1.59x faster | |
- needle=192, haystack=48000, seed=3: 11.4 us +- 0.1 us -> 7.18 us +- 0.05 us: 1.59x faster | |
- needle=192, haystack=24000, seed=3: 4.26 us +- 0.04 us -> 2.70 us +- 0.03 us: 1.58x faster | |
- needle=64, haystack=48000, seed=2: 12.1 us +- 0.1 us -> 7.71 us +- 0.08 us: 1.57x faster | |
- needle=24, haystack=96000, seed=1: 41.8 us +- 0.5 us -> 27.0 us +- 0.2 us: 1.55x faster | |
- needle=48, haystack=48000, seed=3: 16.8 us +- 0.2 us -> 10.9 us +- 0.1 us: 1.55x faster | |
- needle=128, haystack=24000, seed=1: 4.34 us +- 0.05 us -> 2.82 us +- 0.03 us: 1.54x faster | |
- needle=16, haystack=96000, seed=3: 47.9 us +- 0.6 us -> 31.2 us +- 0.2 us: 1.53x faster | |
- needle=6, haystack=96000, seed=3: 127 us +- 2 us -> 83.5 us +- 1.1 us: 1.52x faster | |
- needle=96, haystack=48000, seed=3: 12.2 us +- 0.1 us -> 8.11 us +- 0.07 us: 1.50x faster | |
- needle=48, haystack=48000, seed=2: 13.8 us +- 0.1 us -> 9.20 us +- 0.09 us: 1.50x faster | |
- needle=64, haystack=64000, seed=3: 14.1 us +- 1.1 us -> 9.58 us +- 0.29 us: 1.48x faster | |
- needle=24, haystack=96000, seed=2: 34.9 us +- 0.4 us -> 24.0 us +- 0.3 us: 1.46x faster | |
- needle=128, haystack=64000, seed=2: 10.7 us +- 0.1 us -> 7.50 us +- 0.06 us: 1.43x faster | |
- needle=128, haystack=12000, seed=2: 2.19 us +- 0.02 us -> 1.55 us +- 0.02 us: 1.42x faster | |
- needle=12, haystack=48000, seed=3: 23.8 us +- 0.3 us -> 17.0 us +- 0.2 us: 1.39x faster | |
- needle=256, haystack=48000, seed=1: 8.57 us +- 0.07 us -> 6.25 us +- 0.06 us: 1.37x faster | |
- needle=192, haystack=12000, seed=1: 2.46 us +- 0.02 us -> 1.80 us +- 0.04 us: 1.37x faster | |
- needle=8, haystack=96000, seed=2: 73.7 us +- 0.8 us -> 54.0 us +- 0.7 us: 1.36x faster | |
- needle=48, haystack=64000, seed=2: 21.0 us +- 0.4 us -> 15.4 us +- 0.1 us: 1.36x faster | |
- needle=128, haystack=64000, seed=1: 11.5 us +- 0.1 us -> 8.41 us +- 0.09 us: 1.36x faster | |
- needle=16, haystack=64000, seed=1: 30.3 us +- 1.9 us -> 22.2 us +- 0.2 us: 1.36x faster | |
- needle=12, haystack=64000, seed=2: 36.7 us +- 0.6 us -> 27.0 us +- 0.3 us: 1.36x faster | |
- needle=128, haystack=8000, seed=3: 1.57 us +- 0.02 us -> 1.16 us +- 0.01 us: 1.35x faster | |
- needle=256, haystack=24000, seed=2: 4.21 us +- 0.05 us -> 3.12 us +- 0.04 us: 1.35x faster | |
- needle=12, haystack=96000, seed=1: 61.7 us +- 0.6 us -> 45.9 us +- 0.7 us: 1.34x faster | |
- needle=384, haystack=8000, seed=2: 2.17 us +- 0.02 us -> 1.62 us +- 0.02 us: 1.34x faster | |
- needle=8, haystack=64000, seed=3: 47.8 us +- 1.2 us -> 35.8 us +- 0.3 us: 1.33x faster | |
- needle=16, haystack=96000, seed=2: 50.4 us +- 1.0 us -> 38.0 us +- 0.3 us: 1.33x faster | |
- needle=128, haystack=32000, seed=2: 5.49 us +- 0.05 us -> 4.13 us +- 0.04 us: 1.33x faster | |
- needle=192, haystack=6000, seed=2: 1.56 us +- 0.01 us -> 1.17 us +- 0.01 us: 1.33x faster | |
- needle=128, haystack=32000, seed=1: 5.85 us +- 0.06 us -> 4.41 us +- 0.07 us: 1.33x faster | |
- needle=384, haystack=24000, seed=1: 4.33 us +- 0.05 us -> 3.27 us +- 0.03 us: 1.32x faster | |
- needle=384, haystack=32000, seed=3: 5.89 us +- 0.05 us -> 4.46 us +- 0.05 us: 1.32x faster | |
- needle=384, haystack=16000, seed=1: 3.30 us +- 0.03 us -> 2.53 us +- 0.03 us: 1.31x faster | |
- needle=192, haystack=48000, seed=1: 7.62 us +- 0.07 us -> 5.89 us +- 0.05 us: 1.29x faster | |
- needle=256, haystack=48000, seed=3: 8.23 us +- 0.15 us -> 6.37 us +- 0.07 us: 1.29x faster | |
- needle=48, haystack=32000, seed=3: 7.70 us +- 0.15 us -> 5.97 us +- 0.09 us: 1.29x faster | |
- needle=128, haystack=3000, seed=3: 968 ns +- 9 ns -> 751 ns +- 10 ns: 1.29x faster | |
- needle=192, haystack=64000, seed=2: 10.3 us +- 0.2 us -> 7.98 us +- 0.09 us: 1.29x faster | |
- needle=8, haystack=64000, seed=1: 44.8 us +- 0.9 us -> 34.8 us +- 0.3 us: 1.29x faster | |
- needle=16, haystack=96000, seed=1: 45.5 us +- 0.8 us -> 35.3 us +- 0.3 us: 1.29x faster | |
- needle=6, haystack=48000, seed=3: 43.2 us +- 0.6 us -> 33.6 us +- 0.3 us: 1.28x faster | |
- needle=128, haystack=16000, seed=1: 2.85 us +- 0.02 us -> 2.23 us +- 0.03 us: 1.28x faster | |
- needle=256, haystack=16000, seed=3: 3.06 us +- 0.03 us -> 2.40 us +- 0.03 us: 1.28x faster | |
- needle=256, haystack=32000, seed=3: 5.39 us +- 0.06 us -> 4.23 us +- 0.04 us: 1.28x faster | |
- needle=6, haystack=96000, seed=2: 75.1 us +- 1.1 us -> 58.8 us +- 0.6 us: 1.28x faster | |
- needle=128, haystack=16000, seed=2: 2.94 us +- 0.02 us -> 2.30 us +- 0.02 us: 1.28x faster | |
- needle=192, haystack=96000, seed=1: 13.9 us +- 0.1 us -> 10.9 us +- 0.3 us: 1.27x faster | |
- needle=384, haystack=24000, seed=2: 3.55 us +- 0.04 us -> 2.80 us +- 0.03 us: 1.27x faster | |
- needle=192, haystack=96000, seed=3: 14.8 us +- 0.1 us -> 11.7 us +- 0.2 us: 1.27x faster | |
- needle=24, haystack=64000, seed=3: 20.1 us +- 0.4 us -> 15.9 us +- 0.1 us: 1.26x faster | |
- needle=384, haystack=96000, seed=1: 17.0 us +- 0.2 us -> 13.5 us +- 0.1 us: 1.26x faster | |
- needle=384, haystack=24000, seed=3: 4.84 us +- 0.03 us -> 3.84 us +- 0.03 us: 1.26x faster | |
- needle=24, haystack=64000, seed=2: 25.1 us +- 0.2 us -> 19.9 us +- 0.2 us: 1.26x faster | |
- needle=192, haystack=4000, seed=3: 1.16 us +- 0.01 us -> 923 ns +- 9 ns: 1.26x faster | |
- needle=192, haystack=24000, seed=2: 3.55 us +- 0.04 us -> 2.82 us +- 0.03 us: 1.26x faster | |
- needle=384, haystack=12000, seed=2: 2.68 us +- 0.02 us -> 2.13 us +- 0.03 us: 1.25x faster | |
- needle=256, haystack=24000, seed=3: 4.21 us +- 0.04 us -> 3.36 us +- 0.05 us: 1.25x faster | |
- needle=6, haystack=64000, seed=3: 47.0 us +- 0.7 us -> 37.5 us +- 0.4 us: 1.25x faster | |
- needle=192, haystack=16000, seed=3: 2.52 us +- 0.03 us -> 2.02 us +- 0.02 us: 1.25x faster | |
- needle=384, haystack=48000, seed=2: 8.72 us +- 0.10 us -> 6.99 us +- 0.07 us: 1.25x faster | |
- needle=192, haystack=32000, seed=3: 4.67 us +- 0.05 us -> 3.75 us +- 0.04 us: 1.25x faster | |
- needle=12, haystack=64000, seed=1: 28.6 us +- 2.5 us -> 22.9 us +- 0.2 us: 1.25x faster | |
- needle=24, haystack=48000, seed=2: 15.6 us +- 0.2 us -> 12.5 us +- 0.1 us: 1.24x faster | |
- needle=384, haystack=16000, seed=3: 2.72 us +- 0.04 us -> 2.19 us +- 0.08 us: 1.24x faster | |
- needle=3, haystack=12000, seed=2: 8.13 us +- 0.09 us -> 6.55 us +- 0.10 us: 1.24x faster | |
- needle=16, haystack=64000, seed=3: 31.2 us +- 0.3 us -> 25.2 us +- 0.2 us: 1.24x faster | |
- needle=192, haystack=32000, seed=2: 5.12 us +- 0.06 us -> 4.13 us +- 0.04 us: 1.24x faster | |
- needle=96, haystack=96000, seed=1: 22.1 us +- 0.3 us -> 17.8 us +- 0.2 us: 1.24x faster | |
- needle=3, haystack=24000, seed=1: 22.9 us +- 1.5 us -> 18.5 us +- 0.2 us: 1.24x faster | |
- needle=32, haystack=96000, seed=1: 27.9 us +- 0.3 us -> 22.6 us +- 0.3 us: 1.23x faster | |
- needle=192, haystack=48000, seed=2: 7.11 us +- 0.07 us -> 5.77 us +- 0.06 us: 1.23x faster | |
- needle=128, haystack=24000, seed=3: 3.10 us +- 0.03 us -> 2.52 us +- 0.02 us: 1.23x faster | |
- needle=384, haystack=48000, seed=1: 6.57 us +- 0.08 us -> 5.35 us +- 0.07 us: 1.23x faster | |
- needle=384, haystack=6000, seed=3: 1.75 us +- 0.02 us -> 1.42 us +- 0.01 us: 1.23x faster | |
- needle=8, haystack=24000, seed=1: 9.05 us +- 0.10 us -> 7.38 us +- 0.07 us: 1.23x faster | |
- needle=384, haystack=6000, seed=1: 1.74 us +- 0.02 us -> 1.42 us +- 0.01 us: 1.22x faster | |
- needle=24, haystack=64000, seed=1: 19.4 us +- 0.2 us -> 15.9 us +- 0.2 us: 1.22x faster | |
- needle=8, haystack=16000, seed=3: 6.34 us +- 0.18 us -> 5.21 us +- 0.10 us: 1.22x faster | |
- needle=32, haystack=96000, seed=3: 25.6 us +- 0.3 us -> 21.1 us +- 0.2 us: 1.22x faster | |
- needle=256, haystack=64000, seed=2: 8.14 us +- 0.07 us -> 6.69 us +- 0.14 us: 1.22x faster | |
- needle=4, haystack=24000, seed=1: 20.4 us +- 0.3 us -> 16.8 us +- 0.2 us: 1.21x faster | |
- needle=6, haystack=16000, seed=3: 9.29 us +- 0.16 us -> 7.66 us +- 0.20 us: 1.21x faster | |
- needle=384, haystack=8000, seed=3: 2.13 us +- 0.02 us -> 1.76 us +- 0.02 us: 1.21x faster | |
- needle=6, haystack=12000, seed=2: 4.96 us +- 0.11 us -> 4.10 us +- 0.06 us: 1.21x faster | |
- needle=48, haystack=64000, seed=1: 15.2 us +- 0.1 us -> 12.6 us +- 0.1 us: 1.21x faster | |
- needle=6, haystack=64000, seed=2: 48.4 us +- 0.6 us -> 40.1 us +- 0.5 us: 1.21x faster | |
- needle=128, haystack=8000, seed=2: 1.55 us +- 0.01 us -> 1.29 us +- 0.02 us: 1.21x faster | |
- needle=12, haystack=96000, seed=3: 38.7 us +- 0.3 us -> 32.1 us +- 0.3 us: 1.21x faster | |
- needle=6, haystack=4000, seed=2: 1.44 us +- 0.12 us -> 1.20 us +- 0.03 us: 1.20x faster | |
- needle=96, haystack=48000, seed=2: 10.7 us +- 0.2 us -> 8.94 us +- 0.11 us: 1.20x faster | |
- needle=256, haystack=48000, seed=2: 8.09 us +- 0.07 us -> 6.73 us +- 0.07 us: 1.20x faster | |
- needle=4, haystack=12000, seed=2: 6.18 us +- 0.13 us -> 5.15 us +- 0.05 us: 1.20x faster | |
- needle=48, haystack=96000, seed=2: 23.5 us +- 0.4 us -> 19.6 us +- 0.2 us: 1.20x faster | |
- needle=256, haystack=4000, seed=1: 1.30 us +- 0.02 us -> 1.09 us +- 0.02 us: 1.20x faster | |
- needle=16, haystack=24000, seed=3: 11.5 us +- 0.7 us -> 9.64 us +- 0.12 us: 1.20x faster | |
- needle=8, haystack=6000, seed=1: 1.66 us +- 0.04 us -> 1.39 us +- 0.03 us: 1.20x faster | |
- needle=8, haystack=64000, seed=2: 40.4 us +- 0.7 us -> 33.8 us +- 0.4 us: 1.20x faster | |
- needle=6, haystack=48000, seed=1: 41.0 us +- 0.6 us -> 34.4 us +- 0.4 us: 1.19x faster | |
- needle=6, haystack=12000, seed=3: 4.55 us +- 0.13 us -> 3.81 us +- 0.07 us: 1.19x faster | |
- needle=96, haystack=24000, seed=3: 9.07 us +- 0.11 us -> 7.62 us +- 0.08 us: 1.19x faster | |
- needle=384, haystack=3000, seed=2: 1.34 us +- 0.02 us -> 1.13 us +- 0.01 us: 1.19x faster | |
- needle=8, haystack=1000, seed=1: 383 ns +- 9 ns -> 323 ns +- 7 ns: 1.19x faster | |
- needle=3, haystack=8000, seed=1: 5.22 us +- 0.05 us -> 4.39 us +- 0.08 us: 1.19x faster | |
- needle=192, haystack=8000, seed=2: 1.58 us +- 0.02 us -> 1.34 us +- 0.02 us: 1.18x faster | |
- needle=12, haystack=48000, seed=2: 26.0 us +- 0.3 us -> 22.0 us +- 0.3 us: 1.18x faster | |
- needle=24, haystack=6000, seed=1: 1.03 us +- 0.02 us -> 872 ns +- 12 ns: 1.18x faster | |
- needle=192, haystack=6000, seed=3: 1.38 us +- 0.01 us -> 1.17 us +- 0.01 us: 1.18x faster | |
- needle=96, haystack=32000, seed=3: 7.02 us +- 0.10 us -> 5.97 us +- 0.06 us: 1.18x faster | |
- needle=12, haystack=6000, seed=3: 1.97 us +- 0.05 us -> 1.68 us +- 0.02 us: 1.17x faster | |
- needle=8, haystack=12000, seed=1: 4.76 us +- 0.08 us -> 4.06 us +- 0.07 us: 1.17x faster | |
- needle=128, haystack=24000, seed=2: 4.16 us +- 0.04 us -> 3.55 us +- 0.02 us: 1.17x faster | |
- needle=6, haystack=3000, seed=2: 1.03 us +- 0.03 us -> 880 ns +- 7 ns: 1.17x faster | |
- needle=8, haystack=3000, seed=2: 863 ns +- 32 ns -> 737 ns +- 9 ns: 1.17x faster | |
- needle=192, haystack=96000, seed=2: 14.1 us +- 0.2 us -> 12.0 us +- 0.1 us: 1.17x faster | |
- needle=4, haystack=4000, seed=2: 1.55 us +- 0.08 us -> 1.32 us +- 0.02 us: 1.17x faster | |
- needle=6, haystack=2000, seed=3: 740 ns +- 21 ns -> 635 ns +- 6 ns: 1.17x faster | |
- needle=3, haystack=4000, seed=1: 1.83 us +- 0.10 us -> 1.57 us +- 0.02 us: 1.16x faster | |
- needle=2, haystack=12000, seed=3: 14.9 us +- 0.2 us -> 12.8 us +- 0.4 us: 1.16x faster | |
- needle=4, haystack=24000, seed=3: 22.7 us +- 0.5 us -> 19.6 us +- 0.2 us: 1.16x faster | |
- needle=4, haystack=8000, seed=2: 3.38 us +- 0.07 us -> 2.91 us +- 0.04 us: 1.16x faster | |
- needle=4, haystack=2000, seed=1: 875 ns +- 34 ns -> 755 ns +- 13 ns: 1.16x faster | |
- needle=8, haystack=4000, seed=3: 1.24 us +- 0.03 us -> 1.07 us +- 0.01 us: 1.16x faster | |
- needle=256, haystack=32000, seed=2: 5.59 us +- 0.06 us -> 4.83 us +- 0.06 us: 1.16x faster | |
- needle=4, haystack=6000, seed=3: 2.66 us +- 0.05 us -> 2.30 us +- 0.03 us: 1.16x faster | |
- needle=6, haystack=6000, seed=3: 1.99 us +- 0.02 us -> 1.72 us +- 0.02 us: 1.16x faster | |
- needle=32, haystack=12000, seed=2: 1.71 us +- 0.02 us -> 1.48 us +- 0.03 us: 1.15x faster | |
- needle=16, haystack=4000, seed=1: 750 ns +- 11 ns -> 650 ns +- 8 ns: 1.15x faster | |
- needle=6, haystack=1500, seed=3: 528 ns +- 20 ns -> 457 ns +- 6 ns: 1.15x faster | |
- needle=3, haystack=4000, seed=2: 2.05 us +- 0.03 us -> 1.77 us +- 0.02 us: 1.15x faster | |
- needle=192, haystack=64000, seed=3: 9.47 us +- 0.10 us -> 8.21 us +- 0.06 us: 1.15x faster | |
- needle=6, haystack=8000, seed=3: 2.79 us +- 0.08 us -> 2.42 us +- 0.03 us: 1.15x faster | |
- needle=192, haystack=8000, seed=3: 1.46 us +- 0.02 us -> 1.26 us +- 0.02 us: 1.15x faster | |
- needle=192, haystack=24000, seed=1: 3.21 us +- 0.03 us -> 2.79 us +- 0.03 us: 1.15x faster | |
- needle=128, haystack=48000, seed=1: 8.60 us +- 0.09 us -> 7.47 us +- 0.08 us: 1.15x faster | |
- needle=12, haystack=8000, seed=1: 1.82 us +- 0.02 us -> 1.58 us +- 0.02 us: 1.15x faster | |
- needle=6, haystack=12000, seed=1: 5.23 us +- 0.21 us -> 4.55 us +- 0.09 us: 1.15x faster | |
- needle=8, haystack=3000, seed=3: 880 ns +- 27 ns -> 765 ns +- 11 ns: 1.15x faster | |
- needle=384, haystack=48000, seed=3: 6.75 us +- 0.06 us -> 5.87 us +- 0.05 us: 1.15x faster | |
- needle=24, haystack=24000, seed=1: 8.59 us +- 0.09 us -> 7.48 us +- 0.08 us: 1.15x faster | |
- needle=6, haystack=4000, seed=1: 1.40 us +- 0.05 us -> 1.22 us +- 0.01 us: 1.15x faster | |
- needle=12, haystack=4000, seed=2: 938 ns +- 11 ns -> 818 ns +- 12 ns: 1.15x faster | |
- needle=384, haystack=4000, seed=3: 1.62 us +- 0.01 us -> 1.41 us +- 0.01 us: 1.15x faster | |
- needle=8, haystack=1500, seed=1: 438 ns +- 10 ns -> 382 ns +- 9 ns: 1.15x faster | |
- needle=12, haystack=8000, seed=2: 1.58 us +- 0.03 us -> 1.38 us +- 0.02 us: 1.15x faster | |
- needle=8, haystack=96000, seed=1: 58.3 us +- 1.3 us -> 51.0 us +- 0.6 us: 1.14x faster | |
- needle=16, haystack=48000, seed=2: 20.3 us +- 0.6 us -> 17.8 us +- 0.1 us: 1.14x faster | |
- needle=6, haystack=8000, seed=2: 2.52 us +- 0.03 us -> 2.20 us +- 0.03 us: 1.14x faster | |
- needle=16, haystack=12000, seed=2: 2.34 us +- 0.03 us -> 2.05 us +- 0.02 us: 1.14x faster | |
- needle=256, haystack=3000, seed=2: 1.18 us +- 0.01 us -> 1.04 us +- 0.01 us: 1.14x faster | |
- needle=16, haystack=12000, seed=1: 1.84 us +- 0.02 us -> 1.61 us +- 0.03 us: 1.14x faster | |
- needle=256, haystack=8000, seed=1: 1.98 us +- 0.04 us -> 1.73 us +- 0.02 us: 1.14x faster | |
- needle=12, haystack=12000, seed=1: 2.16 us +- 0.02 us -> 1.90 us +- 0.02 us: 1.14x faster | |
- needle=16, haystack=8000, seed=3: 1.60 us +- 0.02 us -> 1.40 us +- 0.02 us: 1.14x faster | |
- needle=8, haystack=2000, seed=3: 595 ns +- 8 ns -> 522 ns +- 4 ns: 1.14x faster | |
- needle=12, haystack=2000, seed=2: 531 ns +- 16 ns -> 466 ns +- 7 ns: 1.14x faster | |
- needle=4, haystack=6000, seed=2: 2.62 us +- 0.05 us -> 2.30 us +- 0.04 us: 1.14x faster | |
- needle=4, haystack=64000, seed=2: 65.5 us +- 1.3 us -> 57.5 us +- 0.7 us: 1.14x faster | |
- needle=24, haystack=3000, seed=2: 558 ns +- 10 ns -> 491 ns +- 6 ns: 1.14x faster | |
- needle=6, haystack=4000, seed=3: 1.19 us +- 0.08 us -> 1.05 us +- 0.02 us: 1.14x faster | |
- needle=6, haystack=6000, seed=1: 1.86 us +- 0.02 us -> 1.64 us +- 0.02 us: 1.14x faster | |
- needle=4, haystack=750, seed=3: 368 ns +- 9 ns -> 324 ns +- 6 ns: 1.14x faster | |
- needle=256, haystack=12000, seed=3: 2.06 us +- 0.03 us -> 1.81 us +- 0.01 us: 1.14x faster | |
- needle=256, haystack=96000, seed=1: 15.5 us +- 0.2 us -> 13.7 us +- 0.1 us: 1.13x faster | |
- needle=128, haystack=16000, seed=3: 2.76 us +- 0.03 us -> 2.43 us +- 0.02 us: 1.13x faster | |
- needle=24, haystack=48000, seed=3: 14.1 us +- 0.1 us -> 12.4 us +- 0.1 us: 1.13x faster | |
- needle=16, haystack=12000, seed=3: 2.09 us +- 0.03 us -> 1.84 us +- 0.02 us: 1.13x faster | |
- needle=3, haystack=3000, seed=3: 1.33 us +- 0.02 us -> 1.17 us +- 0.03 us: 1.13x faster | |
- needle=4, haystack=96000, seed=3: 79.5 us +- 0.8 us -> 70.2 us +- 0.7 us: 1.13x faster | |
- needle=12, haystack=4000, seed=1: 949 ns +- 12 ns -> 839 ns +- 14 ns: 1.13x faster | |
- needle=24, haystack=16000, seed=3: 2.37 us +- 0.03 us -> 2.10 us +- 0.03 us: 1.13x faster | |
- needle=12, haystack=6000, seed=1: 1.38 us +- 0.04 us -> 1.22 us +- 0.02 us: 1.13x faster | |
- needle=8, haystack=4000, seed=2: 1.26 us +- 0.03 us -> 1.11 us +- 0.02 us: 1.13x faster | |
- needle=16, haystack=32000, seed=2: 12.4 us +- 0.2 us -> 11.0 us +- 0.1 us: 1.13x faster | |
- needle=48, haystack=12000, seed=3: 1.33 us +- 0.02 us -> 1.18 us +- 0.02 us: 1.13x faster | |
- needle=256, haystack=64000, seed=3: 8.13 us +- 0.06 us -> 7.19 us +- 0.06 us: 1.13x faster | |
- needle=8, haystack=6000, seed=2: 1.80 us +- 0.05 us -> 1.59 us +- 0.02 us: 1.13x faster | |
- needle=8, haystack=1500, seed=3: 464 ns +- 10 ns -> 410 ns +- 6 ns: 1.13x faster | |
- needle=24, haystack=12000, seed=2: 2.50 us +- 0.05 us -> 2.22 us +- 0.02 us: 1.13x faster | |
- needle=32, haystack=16000, seed=2: 2.44 us +- 0.09 us -> 2.16 us +- 0.05 us: 1.13x faster | |
- needle=6, haystack=8000, seed=1: 2.64 us +- 0.05 us -> 2.34 us +- 0.03 us: 1.13x faster | |
- needle=32, haystack=48000, seed=2: 12.6 us +- 0.1 us -> 11.2 us +- 0.1 us: 1.13x faster | |
- needle=24, haystack=3000, seed=3: 534 ns +- 5 ns -> 473 ns +- 6 ns: 1.13x faster | |
- needle=12, haystack=6000, seed=2: 1.10 us +- 0.02 us -> 972 ns +- 18 ns: 1.13x faster | |
- needle=24, haystack=8000, seed=3: 1.67 us +- 0.03 us -> 1.48 us +- 0.02 us: 1.13x faster | |
- needle=4, haystack=16000, seed=1: 15.6 us +- 0.2 us -> 13.8 us +- 0.2 us: 1.13x faster | |
- needle=8, haystack=2000, seed=1: 582 ns +- 13 ns -> 517 ns +- 6 ns: 1.13x faster | |
- needle=24, haystack=8000, seed=1: 1.35 us +- 0.03 us -> 1.20 us +- 0.02 us: 1.13x faster | |
- needle=16, haystack=4000, seed=2: 780 ns +- 12 ns -> 693 ns +- 13 ns: 1.13x faster | |
- needle=32, haystack=24000, seed=2: 3.67 us +- 0.05 us -> 3.26 us +- 0.04 us: 1.12x faster | |
- needle=24, haystack=1000, seed=2: 269 ns +- 4 ns -> 239 ns +- 2 ns: 1.12x faster | |
- needle=192, haystack=64000, seed=1: 9.59 us +- 0.09 us -> 8.54 us +- 0.09 us: 1.12x faster | |
- needle=16, haystack=1500, seed=2: 440 ns +- 11 ns -> 391 ns +- 5 ns: 1.12x faster | |
- needle=256, haystack=6000, seed=1: 1.58 us +- 0.02 us -> 1.41 us +- 0.01 us: 1.12x faster | |
- needle=64, haystack=96000, seed=3: 22.1 us +- 1.2 us -> 19.7 us +- 0.1 us: 1.12x faster | |
- needle=8, haystack=8000, seed=2: 2.17 us +- 0.02 us -> 1.93 us +- 0.02 us: 1.12x faster | |
- needle=16, haystack=2000, seed=2: 456 ns +- 4 ns -> 406 ns +- 7 ns: 1.12x faster | |
- needle=384, haystack=6000, seed=2: 1.92 us +- 0.02 us -> 1.71 us +- 0.05 us: 1.12x faster | |
- needle=6, haystack=750, seed=2: 297 ns +- 11 ns -> 265 ns +- 5 ns: 1.12x faster | |
- needle=6, haystack=750, seed=3: 343 ns +- 7 ns -> 306 ns +- 4 ns: 1.12x faster | |
- needle=8, haystack=16000, seed=2: 11.2 us +- 0.3 us -> 9.99 us +- 0.14 us: 1.12x faster | |
- needle=8, haystack=1000, seed=2: 351 ns +- 8 ns -> 314 ns +- 3 ns: 1.12x faster | |
- needle=6, haystack=2000, seed=1: 681 ns +- 8 ns -> 608 ns +- 10 ns: 1.12x faster | |
- needle=4, haystack=1000, seed=2: 482 ns +- 7 ns -> 430 ns +- 5 ns: 1.12x faster | |
- needle=4, haystack=32000, seed=1: 31.0 us +- 0.6 us -> 27.7 us +- 0.3 us: 1.12x faster | |
- needle=256, haystack=16000, seed=1: 3.24 us +- 0.04 us -> 2.89 us +- 0.03 us: 1.12x faster | |
- needle=4, haystack=1500, seed=1: 643 ns +- 10 ns -> 574 ns +- 6 ns: 1.12x faster | |
- needle=4, haystack=4000, seed=3: 1.71 us +- 0.03 us -> 1.53 us +- 0.03 us: 1.12x faster | |
- needle=4, haystack=8000, seed=1: 2.97 us +- 0.08 us -> 2.65 us +- 0.05 us: 1.12x faster | |
- needle=6, haystack=750, seed=1: 364 ns +- 9 ns -> 325 ns +- 9 ns: 1.12x faster | |
- needle=24, haystack=2000, seed=3: 395 ns +- 4 ns -> 354 ns +- 7 ns: 1.12x faster | |
- needle=16, haystack=6000, seed=2: 948 ns +- 12 ns -> 849 ns +- 11 ns: 1.12x faster | |
- needle=12, haystack=8000, seed=3: 1.82 us +- 0.02 us -> 1.63 us +- 0.02 us: 1.12x faster | |
- needle=8, haystack=3000, seed=1: 845 ns +- 9 ns -> 757 ns +- 12 ns: 1.12x faster | |
- needle=16, haystack=8000, seed=1: 1.48 us +- 0.02 us -> 1.33 us +- 0.02 us: 1.12x faster | |
- needle=16, haystack=16000, seed=2: 2.37 us +- 0.02 us -> 2.12 us +- 0.03 us: 1.12x faster | |
- needle=3, haystack=48000, seed=1: 25.6 us +- 0.5 us -> 23.0 us +- 0.2 us: 1.12x faster | |
- needle=24, haystack=16000, seed=2: 2.14 us +- 0.03 us -> 1.92 us +- 0.02 us: 1.11x faster | |
- needle=16, haystack=4000, seed=3: 659 ns +- 8 ns -> 592 ns +- 10 ns: 1.11x faster | |
- needle=24, haystack=24000, seed=2: 3.77 us +- 0.05 us -> 3.39 us +- 0.05 us: 1.11x faster | |
- needle=192, haystack=2000, seed=3: 1.03 us +- 0.01 us -> 925 ns +- 8 ns: 1.11x faster | |
- needle=16, haystack=3000, seed=1: 801 ns +- 15 ns -> 720 ns +- 11 ns: 1.11x faster | |
- needle=12, haystack=3000, seed=1: 660 ns +- 10 ns -> 593 ns +- 6 ns: 1.11x faster | |
- needle=6, haystack=2000, seed=2: 735 ns +- 10 ns -> 660 ns +- 21 ns: 1.11x faster | |
- needle=12, haystack=12000, seed=2: 3.29 us +- 0.04 us -> 2.95 us +- 0.03 us: 1.11x faster | |
- needle=8, haystack=6000, seed=3: 1.49 us +- 0.03 us -> 1.34 us +- 0.03 us: 1.11x faster | |
- needle=16, haystack=1000, seed=3: 313 ns +- 7 ns -> 282 ns +- 3 ns: 1.11x faster | |
- needle=384, haystack=8000, seed=1: 2.22 us +- 0.02 us -> 2.00 us +- 0.02 us: 1.11x faster | |
- needle=12, haystack=1500, seed=3: 386 ns +- 5 ns -> 347 ns +- 5 ns: 1.11x faster | |
- needle=16, haystack=1500, seed=3: 411 ns +- 12 ns -> 369 ns +- 5 ns: 1.11x faster | |
- needle=24, haystack=4000, seed=3: 623 ns +- 18 ns -> 561 ns +- 10 ns: 1.11x faster | |
- needle=6, haystack=1500, seed=1: 478 ns +- 11 ns -> 430 ns +- 4 ns: 1.11x faster | |
- needle=3, haystack=96000, seed=3: 135 us +- 4 us -> 121 us +- 1 us: 1.11x faster | |
- needle=24, haystack=2000, seed=1: 407 ns +- 5 ns -> 366 ns +- 8 ns: 1.11x faster | |
- needle=24, haystack=8000, seed=2: 1.16 us +- 0.03 us -> 1.04 us +- 0.02 us: 1.11x faster | |
- needle=384, haystack=96000, seed=2: 14.9 us +- 0.2 us -> 13.5 us +- 0.3 us: 1.11x faster | |
- needle=12, haystack=4000, seed=3: 782 ns +- 9 ns -> 705 ns +- 12 ns: 1.11x faster | |
- needle=6, haystack=6000, seed=2: 1.68 us +- 0.02 us -> 1.51 us +- 0.02 us: 1.11x faster | |
- needle=16, haystack=24000, seed=2: 4.83 us +- 0.06 us -> 4.35 us +- 0.04 us: 1.11x faster | |
- needle=256, haystack=64000, seed=1: 11.1 us +- 0.1 us -> 9.99 us +- 0.13 us: 1.11x faster | |
- needle=32, haystack=4000, seed=1: 783 ns +- 27 ns -> 706 ns +- 9 ns: 1.11x faster | |
- needle=16, haystack=6000, seed=3: 1.02 us +- 0.01 us -> 921 ns +- 11 ns: 1.11x faster | |
- needle=16, haystack=16000, seed=3: 2.71 us +- 0.04 us -> 2.45 us +- 0.03 us: 1.11x faster | |
- needle=4, haystack=750, seed=2: 368 ns +- 8 ns -> 332 ns +- 8 ns: 1.11x faster | |
- needle=384, haystack=4000, seed=2: 1.59 us +- 0.02 us -> 1.43 us +- 0.02 us: 1.11x faster | |
- needle=16, haystack=2000, seed=1: 513 ns +- 16 ns -> 464 ns +- 6 ns: 1.11x faster | |
- needle=8, haystack=1500, seed=2: 490 ns +- 11 ns -> 443 ns +- 6 ns: 1.11x faster | |
- needle=12, haystack=16000, seed=2: 5.01 us +- 0.06 us -> 4.54 us +- 0.06 us: 1.11x faster | |
- needle=192, haystack=12000, seed=2: 1.85 us +- 0.02 us -> 1.67 us +- 0.04 us: 1.11x faster | |
- needle=3, haystack=64000, seed=3: 54.2 us +- 1.7 us -> 49.1 us +- 0.6 us: 1.11x faster | |
- needle=6, haystack=1000, seed=2: 399 ns +- 6 ns -> 361 ns +- 4 ns: 1.10x faster | |
- needle=12, haystack=1000, seed=1: 280 ns +- 5 ns -> 254 ns +- 4 ns: 1.10x faster | |
- needle=8, haystack=500, seed=1: 229 ns +- 6 ns -> 207 ns +- 4 ns: 1.10x faster | |
- needle=3, haystack=32000, seed=1: 57.1 us +- 3.3 us -> 51.7 us +- 0.5 us: 1.10x faster | |
- needle=6, haystack=1000, seed=1: 389 ns +- 6 ns -> 353 ns +- 4 ns: 1.10x faster | |
- needle=6, haystack=96000, seed=1: 69.5 us +- 1.4 us -> 63.0 us +- 0.6 us: 1.10x faster | |
- needle=256, haystack=96000, seed=2: 11.7 us +- 0.1 us -> 10.6 us +- 0.1 us: 1.10x faster | |
- needle=8, haystack=750, seed=2: 274 ns +- 4 ns -> 249 ns +- 2 ns: 1.10x faster | |
- needle=12, haystack=750, seed=3: 284 ns +- 7 ns -> 258 ns +- 6 ns: 1.10x faster | |
- needle=384, haystack=64000, seed=3: 10.1 us +- 0.1 us -> 9.15 us +- 0.09 us: 1.10x faster | |
- needle=24, haystack=12000, seed=3: 1.76 us +- 0.02 us -> 1.60 us +- 0.02 us: 1.10x faster | |
- needle=256, haystack=3000, seed=1: 1.26 us +- 0.01 us -> 1.15 us +- 0.02 us: 1.10x faster | |
- needle=4, haystack=32000, seed=2: 52.2 us +- 0.9 us -> 47.4 us +- 0.6 us: 1.10x faster | |
- needle=12, haystack=1000, seed=3: 288 ns +- 7 ns -> 262 ns +- 4 ns: 1.10x faster | |
- needle=16, haystack=6000, seed=1: 1.09 us +- 0.02 us -> 992 ns +- 22 ns: 1.10x faster | |
- needle=4, haystack=500, seed=3: 277 ns +- 3 ns -> 252 ns +- 2 ns: 1.10x faster | |
- needle=24, haystack=1500, seed=1: 315 ns +- 7 ns -> 286 ns +- 2 ns: 1.10x faster | |
- needle=12, haystack=500, seed=3: 217 ns +- 10 ns -> 198 ns +- 4 ns: 1.10x faster | |
- needle=12, haystack=750, seed=2: 265 ns +- 6 ns -> 242 ns +- 2 ns: 1.10x faster | |
- needle=12, haystack=1500, seed=2: 380 ns +- 12 ns -> 347 ns +- 8 ns: 1.10x faster | |
- needle=16, haystack=3000, seed=3: 539 ns +- 6 ns -> 492 ns +- 9 ns: 1.10x faster | |
- needle=3, haystack=500, seed=1: 354 ns +- 4 ns -> 322 ns +- 8 ns: 1.10x faster | |
- needle=3, haystack=32000, seed=2: 61.0 us +- 2.1 us -> 55.6 us +- 0.6 us: 1.10x faster | |
- needle=12, haystack=2000, seed=3: 511 ns +- 9 ns -> 466 ns +- 6 ns: 1.10x faster | |
- needle=4, haystack=24000, seed=2: 8.87 us +- 0.22 us -> 8.10 us +- 0.09 us: 1.10x faster | |
- needle=4, haystack=48000, seed=3: 56.7 us +- 1.3 us -> 51.8 us +- 0.6 us: 1.10x faster | |
- needle=3, haystack=96000, seed=2: 89.4 us +- 6.0 us -> 81.7 us +- 0.7 us: 1.09x faster | |
- needle=24, haystack=6000, seed=2: 908 ns +- 16 ns -> 829 ns +- 11 ns: 1.09x faster | |
- needle=12, haystack=500, seed=1: 200 ns +- 4 ns -> 183 ns +- 2 ns: 1.09x faster | |
- needle=12, haystack=3000, seed=2: 696 ns +- 9 ns -> 636 ns +- 9 ns: 1.09x faster | |
- needle=24, haystack=6000, seed=3: 1.04 us +- 0.02 us -> 954 ns +- 13 ns: 1.09x faster | |
- needle=4, haystack=2000, seed=3: 692 ns +- 15 ns -> 632 ns +- 9 ns: 1.09x faster | |
- needle=12, haystack=16000, seed=3: 6.17 us +- 0.11 us -> 5.64 us +- 0.08 us: 1.09x faster | |
- needle=6, haystack=3000, seed=3: 724 ns +- 28 ns -> 663 ns +- 10 ns: 1.09x faster | |
- needle=48, haystack=24000, seed=3: 3.62 us +- 0.05 us -> 3.32 us +- 0.04 us: 1.09x faster | |
- needle=12, haystack=12000, seed=3: 3.45 us +- 0.07 us -> 3.16 us +- 0.07 us: 1.09x faster | |
- needle=64, haystack=8000, seed=1: 1.65 us +- 0.03 us -> 1.51 us +- 0.02 us: 1.09x faster | |
- needle=192, haystack=4000, seed=2: 1.18 us +- 0.01 us -> 1.08 us +- 0.01 us: 1.09x faster | |
- needle=8, haystack=750, seed=3: 310 ns +- 8 ns -> 284 ns +- 5 ns: 1.09x faster | |
- needle=32, haystack=24000, seed=3: 6.42 us +- 0.11 us -> 5.88 us +- 0.07 us: 1.09x faster | |
- needle=2, haystack=64000, seed=3: 78.9 us +- 0.7 us -> 72.3 us +- 0.6 us: 1.09x faster | |
- needle=24, haystack=3000, seed=1: 630 ns +- 7 ns -> 577 ns +- 5 ns: 1.09x faster | |
- needle=192, haystack=16000, seed=1: 2.46 us +- 0.03 us -> 2.26 us +- 0.02 us: 1.09x faster | |
- needle=8, haystack=4000, seed=1: 1.26 us +- 0.03 us -> 1.15 us +- 0.02 us: 1.09x faster | |
- needle=96, haystack=24000, seed=1: 2.87 us +- 0.28 us -> 2.63 us +- 0.05 us: 1.09x faster | |
- needle=32, haystack=8000, seed=3: 1.03 us +- 0.01 us -> 941 ns +- 71 ns: 1.09x faster | |
- needle=8, haystack=12000, seed=2: 2.44 us +- 0.05 us -> 2.24 us +- 0.02 us: 1.09x faster | |
- needle=24, haystack=24000, seed=3: 4.56 us +- 0.06 us -> 4.19 us +- 0.04 us: 1.09x faster | |
- needle=2, haystack=96000, seed=3: 137 us +- 1 us -> 125 us +- 1 us: 1.09x faster | |
- needle=12, haystack=500, seed=2: 202 ns +- 3 ns -> 186 ns +- 3 ns: 1.09x faster | |
- needle=4, haystack=16000, seed=2: 9.75 us +- 0.09 us -> 8.96 us +- 0.08 us: 1.09x faster | |
- needle=8, haystack=8000, seed=3: 1.60 us +- 0.03 us -> 1.47 us +- 0.02 us: 1.09x faster | |
- needle=64, haystack=24000, seed=3: 2.13 us +- 0.03 us -> 1.96 us +- 0.03 us: 1.09x faster | |
- needle=32, haystack=16000, seed=3: 2.32 us +- 0.03 us -> 2.13 us +- 0.03 us: 1.09x faster | |
- needle=4, haystack=4000, seed=1: 1.30 us +- 0.05 us -> 1.19 us +- 0.01 us: 1.09x faster | |
- needle=2, haystack=64000, seed=2: 116 us +- 1 us -> 106 us +- 1 us: 1.09x faster | |
- needle=48, haystack=8000, seed=1: 1.60 us +- 0.02 us -> 1.48 us +- 0.02 us: 1.09x faster | |
- needle=3, haystack=24000, seed=2: 10.8 us +- 0.4 us -> 9.99 us +- 0.07 us: 1.09x faster | |
- needle=48, haystack=4000, seed=2: 766 ns +- 9 ns -> 706 ns +- 10 ns: 1.09x faster | |
- needle=2, haystack=96000, seed=2: 121 us +- 1 us -> 111 us +- 1 us: 1.09x faster | |
- needle=24, haystack=12000, seed=1: 1.79 us +- 0.02 us -> 1.65 us +- 0.02 us: 1.08x faster | |
- needle=8, haystack=750, seed=1: 245 ns +- 6 ns -> 226 ns +- 3 ns: 1.08x faster | |
- needle=384, haystack=32000, seed=1: 5.43 us +- 0.06 us -> 5.01 us +- 0.08 us: 1.08x faster | |
- needle=64, haystack=4000, seed=1: 673 ns +- 10 ns -> 621 ns +- 9 ns: 1.08x faster | |
- needle=6, haystack=500, seed=1: 240 ns +- 2 ns -> 221 ns +- 3 ns: 1.08x faster | |
- needle=384, haystack=2000, seed=3: 2.22 us +- 0.03 us -> 2.05 us +- 0.03 us: 1.08x faster | |
- needle=16, haystack=8000, seed=2: 1.55 us +- 0.03 us -> 1.43 us +- 0.02 us: 1.08x faster | |
- needle=6, haystack=500, seed=2: 245 ns +- 3 ns -> 226 ns +- 4 ns: 1.08x faster | |
- needle=12, haystack=750, seed=1: 232 ns +- 8 ns -> 214 ns +- 2 ns: 1.08x faster | |
- needle=4, haystack=750, seed=1: 352 ns +- 8 ns -> 325 ns +- 3 ns: 1.08x faster | |
- needle=4, haystack=2000, seed=2: 704 ns +- 14 ns -> 651 ns +- 25 ns: 1.08x faster | |
- needle=4, haystack=48000, seed=1: 26.8 us +- 0.4 us -> 24.8 us +- 0.3 us: 1.08x faster | |
- needle=16, haystack=2000, seed=3: 434 ns +- 5 ns -> 401 ns +- 12 ns: 1.08x faster | |
- needle=384, haystack=1500, seed=2: 1.68 us +- 0.02 us -> 1.56 us +- 0.02 us: 1.08x faster | |
- needle=4, haystack=64000, seed=1: 116 us +- 1 us -> 107 us +- 1 us: 1.08x faster | |
- needle=48, haystack=8000, seed=2: 1.08 us +- 0.02 us -> 995 ns +- 12 ns: 1.08x faster | |
- needle=16, haystack=1500, seed=1: 311 ns +- 6 ns -> 288 ns +- 4 ns: 1.08x faster | |
- needle=48, haystack=32000, seed=2: 6.62 us +- 0.09 us -> 6.13 us +- 0.07 us: 1.08x faster | |
- needle=3, haystack=24000, seed=3: 29.2 us +- 0.6 us -> 27.0 us +- 0.4 us: 1.08x faster | |
- needle=3, haystack=48000, seed=2: 21.9 us +- 0.3 us -> 20.3 us +- 0.2 us: 1.08x faster | |
- needle=384, haystack=3000, seed=1: 1.35 us +- 0.02 us -> 1.25 us +- 0.01 us: 1.08x faster | |
- needle=24, haystack=1000, seed=1: 247 ns +- 2 ns -> 229 ns +- 3 ns: 1.08x faster | |
- needle=48, haystack=3000, seed=1: 483 ns +- 6 ns -> 448 ns +- 4 ns: 1.08x faster | |
- needle=128, haystack=96000, seed=3: 15.2 us +- 0.2 us -> 14.1 us +- 0.5 us: 1.08x faster | |
- needle=8, haystack=8000, seed=1: 2.52 us +- 0.05 us -> 2.34 us +- 0.05 us: 1.08x faster | |
- needle=3, haystack=64000, seed=2: 38.1 us +- 1.2 us -> 35.3 us +- 0.4 us: 1.08x faster | |
- needle=4, haystack=12000, seed=1: 11.2 us +- 0.2 us -> 10.4 us +- 0.2 us: 1.08x faster | |
- needle=384, haystack=3000, seed=3: 1.37 us +- 0.02 us -> 1.27 us +- 0.02 us: 1.08x faster | |
- needle=128, haystack=96000, seed=1: 13.4 us +- 0.1 us -> 12.4 us +- 0.1 us: 1.08x faster | |
- needle=16, haystack=24000, seed=1: 8.60 us +- 0.09 us -> 7.98 us +- 0.09 us: 1.08x faster | |
- needle=192, haystack=3000, seed=2: 1.09 us +- 0.01 us -> 1.01 us +- 0.01 us: 1.08x faster | |
- needle=48, haystack=2000, seed=1: 478 ns +- 6 ns -> 444 ns +- 5 ns: 1.08x faster | |
- needle=32, haystack=48000, seed=1: 10.9 us +- 0.1 us -> 10.2 us +- 0.1 us: 1.08x faster | |
- needle=4, haystack=6000, seed=1: 1.89 us +- 0.04 us -> 1.76 us +- 0.03 us: 1.08x faster | |
- needle=16, haystack=1000, seed=1: 296 ns +- 5 ns -> 275 ns +- 2 ns: 1.08x faster | |
- needle=8, haystack=1000, seed=3: 359 ns +- 3 ns -> 334 ns +- 4 ns: 1.08x faster | |
- needle=8, haystack=500, seed=2: 219 ns +- 4 ns -> 204 ns +- 5 ns: 1.08x faster | |
- needle=24, haystack=500, seed=2: 178 ns +- 5 ns -> 165 ns +- 2 ns: 1.08x faster | |
- needle=8, haystack=500, seed=3: 219 ns +- 5 ns -> 203 ns +- 5 ns: 1.08x faster | |
- needle=6, haystack=500, seed=3: 228 ns +- 2 ns -> 212 ns +- 2 ns: 1.08x faster | |
- needle=96, haystack=8000, seed=3: 963 ns +- 8 ns -> 896 ns +- 18 ns: 1.08x faster | |
- needle=3, haystack=2000, seed=2: 892 ns +- 24 ns -> 831 ns +- 7 ns: 1.07x faster | |
- needle=4, haystack=3000, seed=2: 976 ns +- 18 ns -> 909 ns +- 12 ns: 1.07x faster | |
- needle=48, haystack=6000, seed=2: 934 ns +- 9 ns -> 870 ns +- 7 ns: 1.07x faster | |
- needle=256, haystack=750, seed=3: 786 ns +- 10 ns -> 733 ns +- 9 ns: 1.07x faster | |
- needle=256, haystack=96000, seed=3: 13.7 us +- 0.2 us -> 12.8 us +- 0.1 us: 1.07x faster | |
- needle=64, haystack=4000, seed=2: 825 ns +- 11 ns -> 769 ns +- 8 ns: 1.07x faster | |
- needle=6, haystack=24000, seed=2: 16.7 us +- 0.2 us -> 15.6 us +- 0.2 us: 1.07x faster | |
- needle=24, haystack=1500, seed=2: 375 ns +- 4 ns -> 350 ns +- 5 ns: 1.07x faster | |
- needle=24, haystack=4000, seed=2: 703 ns +- 7 ns -> 656 ns +- 12 ns: 1.07x faster | |
- needle=3, haystack=2000, seed=1: 805 ns +- 39 ns -> 751 ns +- 9 ns: 1.07x faster | |
- needle=4, haystack=3000, seed=3: 937 ns +- 19 ns -> 874 ns +- 13 ns: 1.07x faster | |
- needle=24, haystack=2000, seed=2: 432 ns +- 9 ns -> 403 ns +- 7 ns: 1.07x faster | |
- needle=16, haystack=1000, seed=2: 308 ns +- 3 ns -> 288 ns +- 6 ns: 1.07x faster | |
- needle=128, haystack=1500, seed=2: 687 ns +- 11 ns -> 641 ns +- 17 ns: 1.07x faster | |
- needle=16, haystack=500, seed=1: 212 ns +- 6 ns -> 198 ns +- 2 ns: 1.07x faster | |
- needle=256, haystack=3000, seed=3: 1.23 us +- 0.01 us -> 1.15 us +- 0.01 us: 1.07x faster | |
- needle=48, haystack=64000, seed=3: 13.7 us +- 0.2 us -> 12.8 us +- 0.1 us: 1.07x faster | |
- needle=48, haystack=24000, seed=2: 6.08 us +- 0.09 us -> 5.67 us +- 0.08 us: 1.07x faster | |
- needle=64, haystack=16000, seed=2: 2.05 us +- 0.03 us -> 1.91 us +- 0.02 us: 1.07x faster | |
- needle=12, haystack=1500, seed=1: 421 ns +- 4 ns -> 393 ns +- 4 ns: 1.07x faster | |
- needle=128, haystack=96000, seed=2: 14.1 us +- 0.1 us -> 13.2 us +- 0.1 us: 1.07x faster | |
- needle=12, haystack=2000, seed=1: 414 ns +- 6 ns -> 387 ns +- 7 ns: 1.07x faster | |
- needle=256, haystack=24000, seed=1: 3.98 us +- 0.04 us -> 3.72 us +- 0.03 us: 1.07x faster | |
- needle=2, haystack=48000, seed=1: 79.9 us +- 1.2 us -> 74.7 us +- 3.6 us: 1.07x faster | |
- needle=64, haystack=1500, seed=1: 303 ns +- 4 ns -> 284 ns +- 3 ns: 1.07x faster | |
- needle=64, haystack=6000, seed=1: 591 ns +- 11 ns -> 552 ns +- 9 ns: 1.07x faster | |
- needle=96, haystack=2000, seed=1: 378 ns +- 5 ns -> 353 ns +- 7 ns: 1.07x faster | |
- needle=128, haystack=2000, seed=1: 599 ns +- 7 ns -> 560 ns +- 5 ns: 1.07x faster | |
- needle=24, haystack=1000, seed=3: 290 ns +- 5 ns -> 271 ns +- 4 ns: 1.07x faster | |
- needle=256, haystack=1500, seed=2: 1.27 us +- 0.01 us -> 1.19 us +- 0.01 us: 1.07x faster | |
- needle=96, haystack=2000, seed=2: 821 ns +- 8 ns -> 769 ns +- 11 ns: 1.07x faster | |
- needle=3, haystack=1500, seed=1: 764 ns +- 9 ns -> 715 ns +- 11 ns: 1.07x faster | |
- needle=4, haystack=3000, seed=1: 1.00 us +- 0.03 us -> 939 ns +- 12 ns: 1.07x faster | |
- needle=24, haystack=4000, seed=1: 696 ns +- 9 ns -> 652 ns +- 8 ns: 1.07x faster | |
- needle=32, haystack=1500, seed=3: 385 ns +- 6 ns -> 360 ns +- 6 ns: 1.07x faster | |
- needle=12, haystack=3000, seed=3: 831 ns +- 9 ns -> 778 ns +- 7 ns: 1.07x faster | |
- needle=2, haystack=48000, seed=3: 98.3 us +- 0.8 us -> 92.1 us +- 1.5 us: 1.07x faster | |
- needle=96, haystack=12000, seed=1: 2.26 us +- 0.02 us -> 2.12 us +- 0.02 us: 1.07x faster | |
- needle=96, haystack=12000, seed=3: 1.49 us +- 0.02 us -> 1.39 us +- 0.03 us: 1.07x faster | |
- needle=32, haystack=16000, seed=1: 2.01 us +- 0.02 us -> 1.89 us +- 0.03 us: 1.07x faster | |
- needle=3, haystack=64000, seed=1: 131 us +- 3 us -> 123 us +- 1 us: 1.07x faster | |
- needle=24, haystack=16000, seed=1: 2.24 us +- 0.03 us -> 2.10 us +- 0.02 us: 1.07x faster | |
- needle=128, haystack=750, seed=1: 481 ns +- 9 ns -> 451 ns +- 5 ns: 1.07x faster | |
- needle=384, haystack=1000, seed=1: 1.13 us +- 0.01 us -> 1.06 us +- 0.01 us: 1.07x faster | |
- needle=256, haystack=32000, seed=1: 5.76 us +- 0.05 us -> 5.40 us +- 0.07 us: 1.07x faster | |
- needle=16, haystack=16000, seed=1: 4.16 us +- 0.04 us -> 3.91 us +- 0.05 us: 1.07x faster | |
- needle=2, haystack=16000, seed=1: 10.7 us +- 0.2 us -> 10.1 us +- 0.2 us: 1.07x faster | |
- needle=8, haystack=24000, seed=2: 12.5 us +- 0.1 us -> 11.7 us +- 0.2 us: 1.07x faster | |
- needle=8, haystack=48000, seed=1: 30.7 us +- 0.2 us -> 28.8 us +- 0.3 us: 1.07x faster | |
- needle=64, haystack=3000, seed=3: 560 ns +- 7 ns -> 526 ns +- 7 ns: 1.07x faster | |
- needle=192, haystack=4000, seed=1: 1.20 us +- 0.01 us -> 1.13 us +- 0.02 us: 1.07x faster | |
- needle=3, haystack=8000, seed=3: 3.34 us +- 0.04 us -> 3.14 us +- 0.07 us: 1.07x faster | |
- needle=24, haystack=750, seed=2: 221 ns +- 4 ns -> 207 ns +- 2 ns: 1.06x faster | |
- needle=64, haystack=750, seed=2: 229 ns +- 5 ns -> 215 ns +- 2 ns: 1.06x faster | |
- needle=32, haystack=12000, seed=3: 1.82 us +- 0.02 us -> 1.71 us +- 0.02 us: 1.06x faster | |
- needle=16, haystack=500, seed=2: 191 ns +- 6 ns -> 179 ns +- 2 ns: 1.06x faster | |
- needle=64, haystack=12000, seed=3: 2.14 us +- 0.03 us -> 2.01 us +- 0.03 us: 1.06x faster | |
- needle=96, haystack=4000, seed=2: 1.25 us +- 0.02 us -> 1.18 us +- 0.01 us: 1.06x faster | |
- needle=32, haystack=32000, seed=3: 7.73 us +- 0.06 us -> 7.26 us +- 0.07 us: 1.06x faster | |
- needle=192, haystack=500, seed=3: 452 ns +- 4 ns -> 425 ns +- 7 ns: 1.06x faster | |
- needle=32, haystack=2000, seed=3: 378 ns +- 7 ns -> 356 ns +- 7 ns: 1.06x faster | |
- needle=96, haystack=4000, seed=1: 1.61 us +- 0.01 us -> 1.52 us +- 0.02 us: 1.06x faster | |
- needle=32, haystack=3000, seed=3: 498 ns +- 5 ns -> 469 ns +- 4 ns: 1.06x faster | |
- needle=12, haystack=1000, seed=2: 251 ns +- 7 ns -> 237 ns +- 4 ns: 1.06x faster | |
- needle=32, haystack=4000, seed=2: 646 ns +- 13 ns -> 608 ns +- 7 ns: 1.06x faster | |
- needle=32, haystack=750, seed=1: 223 ns +- 3 ns -> 210 ns +- 2 ns: 1.06x faster | |
- needle=4, haystack=1000, seed=3: 402 ns +- 10 ns -> 379 ns +- 5 ns: 1.06x faster | |
- needle=64, haystack=6000, seed=2: 980 ns +- 10 ns -> 924 ns +- 12 ns: 1.06x faster | |
- needle=96, haystack=16000, seed=2: 2.26 us +- 0.03 us -> 2.13 us +- 0.02 us: 1.06x faster | |
- needle=256, haystack=2000, seed=3: 1.42 us +- 0.02 us -> 1.34 us +- 0.02 us: 1.06x faster | |
- needle=48, haystack=1500, seed=1: 379 ns +- 6 ns -> 357 ns +- 4 ns: 1.06x faster | |
- needle=12, haystack=16000, seed=1: 4.21 us +- 0.07 us -> 3.97 us +- 0.06 us: 1.06x faster | |
- needle=3, haystack=16000, seed=2: 20.9 us +- 0.1 us -> 19.7 us +- 0.2 us: 1.06x faster | |
- needle=2, haystack=24000, seed=2: 33.1 us +- 0.4 us -> 31.2 us +- 0.4 us: 1.06x faster | |
- needle=384, haystack=2000, seed=2: 2.61 us +- 0.03 us -> 2.46 us +- 0.03 us: 1.06x faster | |
- needle=32, haystack=500, seed=1: 176 ns +- 2 ns -> 166 ns +- 3 ns: 1.06x faster | |
- needle=2, haystack=16000, seed=3: 17.7 us +- 0.1 us -> 16.7 us +- 0.2 us: 1.06x faster | |
- needle=16, haystack=750, seed=3: 235 ns +- 2 ns -> 222 ns +- 2 ns: 1.06x faster | |
- needle=48, haystack=1500, seed=2: 302 ns +- 3 ns -> 285 ns +- 3 ns: 1.06x faster | |
- needle=16, haystack=3000, seed=2: 606 ns +- 4 ns -> 572 ns +- 8 ns: 1.06x faster | |
- needle=128, haystack=3000, seed=1: 862 ns +- 8 ns -> 814 ns +- 10 ns: 1.06x faster | |
- needle=96, haystack=12000, seed=2: 1.41 us +- 0.01 us -> 1.33 us +- 0.04 us: 1.06x faster | |
- needle=3, haystack=1500, seed=3: 809 ns +- 30 ns -> 765 ns +- 8 ns: 1.06x faster | |
- needle=3, haystack=32000, seed=3: 13.3 us +- 0.3 us -> 12.6 us +- 0.2 us: 1.06x faster | |
- needle=64, haystack=2000, seed=2: 400 ns +- 10 ns -> 378 ns +- 7 ns: 1.06x faster | |
- needle=48, haystack=1000, seed=2: 298 ns +- 5 ns -> 282 ns +- 4 ns: 1.06x faster | |
- needle=48, haystack=6000, seed=1: 1.08 us +- 0.01 us -> 1.03 us +- 0.01 us: 1.06x faster | |
- needle=48, haystack=750, seed=2: 253 ns +- 5 ns -> 240 ns +- 2 ns: 1.06x faster | |
- needle=3, haystack=500, seed=3: 339 ns +- 5 ns -> 321 ns +- 6 ns: 1.06x faster | |
- needle=16, haystack=750, seed=2: 211 ns +- 3 ns -> 200 ns +- 4 ns: 1.06x faster | |
- needle=6, haystack=24000, seed=1: 24.2 us +- 0.7 us -> 22.9 us +- 0.2 us: 1.06x faster | |
- needle=6, haystack=16000, seed=1: 10.1 us +- 0.2 us -> 9.54 us +- 0.13 us: 1.06x faster | |
- needle=2, haystack=32000, seed=2: 26.5 us +- 0.5 us -> 25.1 us +- 0.3 us: 1.05x faster | |
- needle=4, haystack=1500, seed=2: 546 ns +- 6 ns -> 518 ns +- 13 ns: 1.05x faster | |
- needle=64, haystack=500, seed=3: 197 ns +- 4 ns -> 187 ns +- 2 ns: 1.05x faster | |
- needle=128, haystack=1000, seed=1: 305 ns +- 8 ns -> 289 ns +- 6 ns: 1.05x faster | |
- needle=3, haystack=750, seed=2: 442 ns +- 9 ns -> 420 ns +- 9 ns: 1.05x faster | |
- needle=256, haystack=1500, seed=1: 856 ns +- 10 ns -> 812 ns +- 8 ns: 1.05x faster | |
- needle=96, haystack=500, seed=3: 378 ns +- 7 ns -> 359 ns +- 10 ns: 1.05x faster | |
- needle=256, haystack=2000, seed=2: 1.17 us +- 0.01 us -> 1.11 us +- 0.01 us: 1.05x faster | |
- needle=32, haystack=500, seed=2: 189 ns +- 6 ns -> 179 ns +- 3 ns: 1.05x faster | |
- needle=96, haystack=1500, seed=1: 634 ns +- 7 ns -> 602 ns +- 5 ns: 1.05x faster | |
- needle=3, haystack=96000, seed=1: 46.7 us +- 1.1 us -> 44.3 us +- 0.5 us: 1.05x faster | |
- needle=128, haystack=64000, seed=3: 9.34 us +- 0.08 us -> 8.87 us +- 0.05 us: 1.05x faster | |
- needle=6, haystack=24000, seed=3: 18.8 us +- 0.3 us -> 17.9 us +- 0.2 us: 1.05x faster | |
- needle=32, haystack=3000, seed=1: 582 ns +- 5 ns -> 552 ns +- 5 ns: 1.05x faster | |
- needle=32, haystack=2000, seed=1: 359 ns +- 4 ns -> 341 ns +- 11 ns: 1.05x faster | |
- needle=4, haystack=64000, seed=3: 92.1 us +- 1.4 us -> 87.6 us +- 0.8 us: 1.05x faster | |
- needle=96, haystack=2000, seed=3: 436 ns +- 8 ns -> 415 ns +- 8 ns: 1.05x faster | |
- needle=256, haystack=8000, seed=2: 1.91 us +- 0.02 us -> 1.82 us +- 0.02 us: 1.05x faster | |
- needle=96, haystack=1500, seed=3: 382 ns +- 7 ns -> 363 ns +- 5 ns: 1.05x faster | |
- needle=128, haystack=750, seed=2: 350 ns +- 3 ns -> 332 ns +- 4 ns: 1.05x faster | |
- needle=48, haystack=16000, seed=1: 2.05 us +- 0.02 us -> 1.94 us +- 0.03 us: 1.05x faster | |
- needle=48, haystack=1500, seed=3: 273 ns +- 4 ns -> 260 ns +- 4 ns: 1.05x faster | |
- needle=192, haystack=1500, seed=1: 1.01 us +- 0.01 us -> 956 ns +- 9 ns: 1.05x faster | |
- needle=24, haystack=750, seed=3: 242 ns +- 5 ns -> 230 ns +- 5 ns: 1.05x faster | |
- needle=32, haystack=12000, seed=1: 2.19 us +- 0.02 us -> 2.08 us +- 0.02 us: 1.05x faster | |
- needle=32, haystack=6000, seed=2: 1.09 us +- 0.01 us -> 1.03 us +- 0.02 us: 1.05x faster | |
- needle=128, haystack=48000, seed=2: 6.63 us +- 0.07 us -> 6.30 us +- 0.04 us: 1.05x faster | |
- needle=48, haystack=2000, seed=3: 511 ns +- 9 ns -> 486 ns +- 5 ns: 1.05x faster | |
- needle=64, haystack=16000, seed=3: 2.04 us +- 0.03 us -> 1.94 us +- 0.02 us: 1.05x faster | |
- needle=2, haystack=3000, seed=2: 1.65 us +- 0.03 us -> 1.57 us +- 0.02 us: 1.05x faster | |
- needle=16, haystack=500, seed=3: 183 ns +- 2 ns -> 174 ns +- 6 ns: 1.05x faster | |
- needle=32, haystack=1000, seed=1: 234 ns +- 5 ns -> 223 ns +- 7 ns: 1.05x faster | |
- needle=128, haystack=48000, seed=3: 8.02 us +- 0.09 us -> 7.64 us +- 0.11 us: 1.05x faster | |
- needle=48, haystack=16000, seed=2: 3.92 us +- 0.06 us -> 3.73 us +- 0.02 us: 1.05x faster | |
- needle=32, haystack=6000, seed=1: 977 ns +- 26 ns -> 931 ns +- 10 ns: 1.05x faster | |
- needle=96, haystack=750, seed=2: 392 ns +- 7 ns -> 374 ns +- 7 ns: 1.05x faster | |
- needle=64, haystack=8000, seed=2: 990 ns +- 12 ns -> 943 ns +- 8 ns: 1.05x faster | |
- needle=32, haystack=24000, seed=1: 4.05 us +- 0.05 us -> 3.86 us +- 0.05 us: 1.05x faster | |
- needle=24, haystack=500, seed=3: 183 ns +- 2 ns -> 174 ns +- 3 ns: 1.05x faster | |
- needle=128, haystack=1000, seed=2: 350 ns +- 5 ns -> 334 ns +- 4 ns: 1.05x faster | |
- needle=96, haystack=4000, seed=3: 815 ns +- 13 ns -> 778 ns +- 11 ns: 1.05x faster | |
- needle=48, haystack=1000, seed=3: 260 ns +- 2 ns -> 248 ns +- 3 ns: 1.05x faster | |
- needle=64, haystack=16000, seed=1: 1.90 us +- 0.03 us -> 1.81 us +- 0.03 us: 1.05x faster | |
- needle=256, haystack=6000, seed=3: 1.61 us +- 0.01 us -> 1.53 us +- 0.02 us: 1.05x faster | |
- needle=96, haystack=1000, seed=2: 259 ns +- 3 ns -> 247 ns +- 4 ns: 1.05x faster | |
- needle=384, haystack=750, seed=1: 814 ns +- 26 ns -> 778 ns +- 8 ns: 1.05x faster | |
- needle=12, haystack=24000, seed=2: 17.4 us +- 0.2 us -> 16.7 us +- 0.2 us: 1.05x faster | |
- needle=12, haystack=32000, seed=3: 15.1 us +- 0.1 us -> 14.4 us +- 0.1 us: 1.05x faster | |
- needle=4, haystack=8000, seed=3: 2.63 us +- 0.07 us -> 2.52 us +- 0.04 us: 1.05x faster | |
- needle=384, haystack=12000, seed=1: 2.57 us +- 0.03 us -> 2.46 us +- 0.03 us: 1.05x faster | |
- needle=48, haystack=750, seed=1: 296 ns +- 5 ns -> 282 ns +- 5 ns: 1.05x faster | |
- needle=32, haystack=1500, seed=1: 278 ns +- 4 ns -> 266 ns +- 4 ns: 1.05x faster | |
- needle=2, haystack=1500, seed=2: 819 ns +- 13 ns -> 784 ns +- 8 ns: 1.04x faster | |
- needle=64, haystack=48000, seed=1: 8.19 us +- 0.07 us -> 7.84 us +- 0.06 us: 1.04x faster | |
- needle=24, haystack=1500, seed=3: 450 ns +- 8 ns -> 431 ns +- 4 ns: 1.04x faster | |
- needle=32, haystack=96000, seed=2: 25.5 us +- 0.4 us -> 24.4 us +- 0.3 us: 1.04x faster | |
- needle=48, haystack=6000, seed=3: 684 ns +- 11 ns -> 656 ns +- 7 ns: 1.04x faster | |
- needle=24, haystack=500, seed=1: 200 ns +- 4 ns -> 191 ns +- 2 ns: 1.04x faster | |
- needle=96, haystack=3000, seed=3: 763 ns +- 12 ns -> 732 ns +- 7 ns: 1.04x faster | |
- needle=32, haystack=4000, seed=3: 763 ns +- 12 ns -> 731 ns +- 14 ns: 1.04x faster | |
- needle=64, haystack=3000, seed=1: 458 ns +- 17 ns -> 439 ns +- 8 ns: 1.04x faster | |
- needle=32, haystack=3000, seed=2: 539 ns +- 7 ns -> 517 ns +- 6 ns: 1.04x faster | |
- needle=64, haystack=500, seed=1: 201 ns +- 5 ns -> 193 ns +- 2 ns: 1.04x faster | |
- needle=192, haystack=1000, seed=2: 508 ns +- 12 ns -> 487 ns +- 8 ns: 1.04x faster | |
- needle=64, haystack=1000, seed=1: 202 ns +- 2 ns -> 194 ns +- 2 ns: 1.04x faster | |
- needle=192, haystack=2000, seed=1: 808 ns +- 12 ns -> 776 ns +- 12 ns: 1.04x faster | |
- needle=4, haystack=96000, seed=1: 130 us +- 2 us -> 125 us +- 1 us: 1.04x faster | |
- needle=384, haystack=750, seed=3: 779 ns +- 16 ns -> 748 ns +- 15 ns: 1.04x faster | |
- needle=32, haystack=1000, seed=2: 235 ns +- 4 ns -> 225 ns +- 5 ns: 1.04x faster | |
- needle=64, haystack=1000, seed=2: 440 ns +- 9 ns -> 423 ns +- 10 ns: 1.04x faster | |
- needle=256, haystack=16000, seed=2: 3.01 us +- 0.04 us -> 2.89 us +- 0.03 us: 1.04x faster | |
- needle=192, haystack=750, seed=3: 410 ns +- 12 ns -> 395 ns +- 3 ns: 1.04x faster | |
- needle=192, haystack=1500, seed=3: 717 ns +- 7 ns -> 690 ns +- 6 ns: 1.04x faster | |
- needle=4, haystack=96000, seed=2: 144 us +- 2 us -> 138 us +- 1 us: 1.04x faster | |
- needle=48, haystack=750, seed=3: 281 ns +- 7 ns -> 270 ns +- 2 ns: 1.04x faster | |
- needle=384, haystack=500, seed=1: 473 ns +- 5 ns -> 455 ns +- 5 ns: 1.04x faster | |
- needle=48, haystack=3000, seed=2: 672 ns +- 11 ns -> 646 ns +- 9 ns: 1.04x faster | |
- needle=96, haystack=6000, seed=2: 1.06 us +- 0.01 us -> 1.02 us +- 0.04 us: 1.04x faster | |
- needle=24, haystack=750, seed=1: 239 ns +- 3 ns -> 230 ns +- 4 ns: 1.04x faster | |
- needle=64, haystack=2000, seed=3: 283 ns +- 3 ns -> 272 ns +- 6 ns: 1.04x faster | |
- needle=48, haystack=3000, seed=3: 623 ns +- 12 ns -> 599 ns +- 5 ns: 1.04x faster | |
- needle=32, haystack=8000, seed=2: 1.06 us +- 0.01 us -> 1.02 us +- 0.04 us: 1.04x faster | |
- needle=384, haystack=1500, seed=1: 473 ns +- 4 ns -> 456 ns +- 4 ns: 1.04x faster | |
- needle=32, haystack=750, seed=3: 192 ns +- 2 ns -> 185 ns +- 2 ns: 1.04x faster | |
- needle=192, haystack=6000, seed=1: 1.54 us +- 0.01 us -> 1.49 us +- 0.02 us: 1.04x faster | |
- needle=384, haystack=2000, seed=1: 607 ns +- 7 ns -> 585 ns +- 5 ns: 1.04x faster | |
- needle=64, haystack=4000, seed=3: 702 ns +- 6 ns -> 677 ns +- 7 ns: 1.04x faster | |
- needle=2, haystack=6000, seed=1: 3.21 us +- 0.05 us -> 3.10 us +- 0.09 us: 1.04x faster | |
- needle=6, haystack=16000, seed=2: 3.40 us +- 0.05 us -> 3.28 us +- 0.05 us: 1.04x faster | |
- needle=96, haystack=750, seed=3: 254 ns +- 5 ns -> 245 ns +- 5 ns: 1.04x faster | |
- needle=3, haystack=48000, seed=3: 21.6 us +- 0.2 us -> 20.8 us +- 0.2 us: 1.04x faster | |
- needle=32, haystack=8000, seed=1: 1.11 us +- 0.01 us -> 1.07 us +- 0.03 us: 1.04x faster | |
- needle=384, haystack=1500, seed=3: 1.51 us +- 0.01 us -> 1.46 us +- 0.01 us: 1.04x faster | |
- needle=64, haystack=1500, seed=3: 306 ns +- 7 ns -> 296 ns +- 8 ns: 1.04x faster | |
- needle=96, haystack=500, seed=1: 228 ns +- 4 ns -> 220 ns +- 5 ns: 1.04x faster | |
- needle=256, haystack=4000, seed=2: 1.28 us +- 0.01 us -> 1.23 us +- 0.01 us: 1.04x faster | |
- needle=192, haystack=750, seed=2: 584 ns +- 6 ns -> 564 ns +- 5 ns: 1.04x faster | |
- needle=2, haystack=64000, seed=1: 61.9 us +- 0.7 us -> 59.8 us +- 0.8 us: 1.04x faster | |
- needle=128, haystack=1500, seed=3: 374 ns +- 5 ns -> 361 ns +- 6 ns: 1.03x faster | |
- needle=256, haystack=12000, seed=1: 2.31 us +- 0.02 us -> 2.23 us +- 0.01 us: 1.03x faster | |
- needle=384, haystack=750, seed=2: 439 ns +- 8 ns -> 425 ns +- 4 ns: 1.03x faster | |
- needle=192, haystack=3000, seed=3: 943 ns +- 12 ns -> 913 ns +- 10 ns: 1.03x faster | |
- needle=32, haystack=500, seed=3: 181 ns +- 4 ns -> 175 ns +- 6 ns: 1.03x faster | |
- needle=256, haystack=12000, seed=2: 2.22 us +- 0.02 us -> 2.15 us +- 0.02 us: 1.03x faster | |
- needle=64, haystack=12000, seed=1: 2.02 us +- 0.03 us -> 1.95 us +- 0.03 us: 1.03x faster | |
- needle=32, haystack=750, seed=2: 200 ns +- 5 ns -> 194 ns +- 5 ns: 1.03x faster | |
- needle=48, haystack=16000, seed=3: 2.78 us +- 0.04 us -> 2.69 us +- 0.04 us: 1.03x faster | |
- needle=384, haystack=500, seed=2: 517 ns +- 7 ns -> 501 ns +- 8 ns: 1.03x faster | |
- needle=48, haystack=12000, seed=1: 1.82 us +- 0.03 us -> 1.76 us +- 0.02 us: 1.03x faster | |
- needle=8, haystack=2000, seed=2: 648 ns +- 9 ns -> 627 ns +- 14 ns: 1.03x faster | |
- needle=32, haystack=32000, seed=2: 4.94 us +- 0.08 us -> 4.78 us +- 0.06 us: 1.03x faster | |
- needle=256, haystack=750, seed=1: 638 ns +- 8 ns -> 618 ns +- 8 ns: 1.03x faster | |
- needle=2, haystack=1000, seed=3: 578 ns +- 6 ns -> 560 ns +- 7 ns: 1.03x faster | |
- needle=4, haystack=500, seed=1: 231 ns +- 4 ns -> 223 ns +- 3 ns: 1.03x faster | |
- needle=48, haystack=24000, seed=1: 4.08 us +- 0.06 us -> 3.95 us +- 0.04 us: 1.03x faster | |
- needle=384, haystack=1000, seed=3: 1.02 us +- 0.01 us -> 992 ns +- 11 ns: 1.03x faster | |
- needle=256, haystack=750, seed=2: 476 ns +- 5 ns -> 461 ns +- 9 ns: 1.03x faster | |
- needle=4, haystack=32000, seed=3: 38.1 us +- 0.8 us -> 36.9 us +- 0.3 us: 1.03x faster | |
- needle=192, haystack=750, seed=1: 435 ns +- 7 ns -> 422 ns +- 5 ns: 1.03x faster | |
- needle=48, haystack=500, seed=3: 203 ns +- 2 ns -> 197 ns +- 4 ns: 1.03x faster | |
- needle=64, haystack=750, seed=3: 246 ns +- 3 ns -> 239 ns +- 3 ns: 1.03x faster | |
- needle=128, haystack=500, seed=2: 243 ns +- 2 ns -> 235 ns +- 2 ns: 1.03x faster | |
- needle=192, haystack=8000, seed=1: 1.70 us +- 0.02 us -> 1.65 us +- 0.02 us: 1.03x faster | |
- needle=96, haystack=500, seed=2: 199 ns +- 5 ns -> 193 ns +- 5 ns: 1.03x faster | |
- needle=64, haystack=3000, seed=2: 347 ns +- 4 ns -> 337 ns +- 6 ns: 1.03x faster | |
- needle=48, haystack=1000, seed=1: 220 ns +- 3 ns -> 214 ns +- 5 ns: 1.03x faster | |
- needle=128, haystack=2000, seed=3: 533 ns +- 6 ns -> 518 ns +- 6 ns: 1.03x faster | |
- needle=96, haystack=3000, seed=2: 565 ns +- 6 ns -> 549 ns +- 10 ns: 1.03x faster | |
- needle=64, haystack=1000, seed=3: 274 ns +- 5 ns -> 266 ns +- 2 ns: 1.03x faster | |
- needle=12, haystack=24000, seed=3: 8.11 us +- 0.07 us -> 7.89 us +- 0.11 us: 1.03x faster | |
- needle=6, haystack=48000, seed=2: 32.4 us +- 0.4 us -> 31.5 us +- 0.3 us: 1.03x faster | |
- needle=64, haystack=24000, seed=2: 2.87 us +- 0.04 us -> 2.79 us +- 0.04 us: 1.03x faster | |
- needle=48, haystack=2000, seed=2: 442 ns +- 4 ns -> 430 ns +- 7 ns: 1.03x faster | |
- needle=384, haystack=500, seed=3: 430 ns +- 4 ns -> 418 ns +- 3 ns: 1.03x faster | |
- needle=192, haystack=500, seed=1: 304 ns +- 3 ns -> 295 ns +- 2 ns: 1.03x faster | |
- needle=2, haystack=2000, seed=3: 1.12 us +- 0.01 us -> 1.09 us +- 0.01 us: 1.03x faster | |
- needle=64, haystack=750, seed=1: 210 ns +- 2 ns -> 204 ns +- 4 ns: 1.03x faster | |
- needle=32, haystack=6000, seed=3: 1.12 us +- 0.01 us -> 1.09 us +- 0.01 us: 1.03x faster | |
- needle=192, haystack=500, seed=2: 302 ns +- 5 ns -> 294 ns +- 3 ns: 1.03x faster | |
- needle=8, haystack=24000, seed=3: 14.1 us +- 0.2 us -> 13.7 us +- 0.2 us: 1.03x faster | |
- needle=12, haystack=32000, seed=2: 11.8 us +- 0.2 us -> 11.5 us +- 0.1 us: 1.03x faster | |
- needle=256, haystack=1000, seed=1: 533 ns +- 5 ns -> 519 ns +- 6 ns: 1.03x faster | |
- needle=48, haystack=500, seed=2: 170 ns +- 5 ns -> 165 ns +- 3 ns: 1.03x faster | |
- needle=48, haystack=4000, seed=3: 665 ns +- 8 ns -> 648 ns +- 11 ns: 1.03x faster | |
- needle=384, haystack=4000, seed=1: 1.59 us +- 0.02 us -> 1.55 us +- 0.02 us: 1.03x faster | |
- needle=3, haystack=6000, seed=3: 2.21 us +- 0.03 us -> 2.16 us +- 0.04 us: 1.03x faster | |
- needle=96, haystack=6000, seed=1: 1.06 us +- 0.01 us -> 1.03 us +- 0.02 us: 1.03x faster | |
- needle=256, haystack=500, seed=2: 320 ns +- 7 ns -> 312 ns +- 10 ns: 1.03x faster | |
- needle=64, haystack=12000, seed=2: 1.32 us +- 0.02 us -> 1.29 us +- 0.02 us: 1.03x faster | |
- needle=128, haystack=500, seed=3: 313 ns +- 3 ns -> 305 ns +- 6 ns: 1.02x faster | |
- needle=48, haystack=8000, seed=3: 1.24 us +- 0.01 us -> 1.21 us +- 0.01 us: 1.02x faster | |
- needle=256, haystack=1500, seed=3: 544 ns +- 7 ns -> 531 ns +- 5 ns: 1.02x faster | |
- needle=64, haystack=6000, seed=3: 940 ns +- 10 ns -> 918 ns +- 12 ns: 1.02x faster | |
- needle=64, haystack=1500, seed=2: 324 ns +- 4 ns -> 316 ns +- 6 ns: 1.02x faster | |
- needle=384, haystack=64000, seed=2: 10.4 us +- 0.1 us -> 10.2 us +- 0.1 us: 1.02x faster | |
- needle=256, haystack=1000, seed=2: 495 ns +- 4 ns -> 484 ns +- 7 ns: 1.02x faster | |
- needle=32, haystack=1500, seed=2: 348 ns +- 5 ns -> 341 ns +- 9 ns: 1.02x faster | |
- needle=192, haystack=1500, seed=2: 394 ns +- 6 ns -> 386 ns +- 8 ns: 1.02x faster | |
- needle=384, haystack=1000, seed=2: 414 ns +- 6 ns -> 405 ns +- 9 ns: 1.02x faster | |
- needle=384, haystack=12000, seed=3: 2.50 us +- 0.03 us -> 2.45 us +- 0.03 us: 1.02x faster | |
- needle=96, haystack=750, seed=1: 247 ns +- 4 ns -> 241 ns +- 6 ns: 1.02x faster | |
- needle=256, haystack=500, seed=1: 292 ns +- 4 ns -> 286 ns +- 3 ns: 1.02x faster | |
- needle=64, haystack=500, seed=2: 164 ns +- 4 ns -> 161 ns +- 5 ns: 1.02x faster | |
- needle=3, haystack=1000, seed=2: 431 ns +- 4 ns -> 422 ns +- 5 ns: 1.02x faster | |
- needle=256, haystack=1000, seed=3: 868 ns +- 8 ns -> 850 ns +- 9 ns: 1.02x faster | |
- needle=16, haystack=32000, seed=3: 12.1 us +- 0.2 us -> 11.9 us +- 0.2 us: 1.02x faster | |
- needle=128, haystack=1000, seed=3: 503 ns +- 4 ns -> 493 ns +- 6 ns: 1.02x faster | |
- needle=96, haystack=1000, seed=1: 213 ns +- 2 ns -> 209 ns +- 2 ns: 1.02x faster | |
- needle=4, haystack=48000, seed=2: 59.9 us +- 0.6 us -> 58.7 us +- 0.5 us: 1.02x faster | |
- needle=64, haystack=2000, seed=1: 640 ns +- 11 ns -> 628 ns +- 15 ns: 1.02x faster | |
- needle=128, haystack=2000, seed=2: 444 ns +- 7 ns -> 435 ns +- 7 ns: 1.02x faster | |
- needle=16, haystack=32000, seed=1: 8.92 us +- 0.24 us -> 8.75 us +- 0.07 us: 1.02x faster | |
- needle=128, haystack=750, seed=3: 282 ns +- 4 ns -> 277 ns +- 3 ns: 1.02x faster | |
- needle=256, haystack=500, seed=3: 356 ns +- 5 ns -> 350 ns +- 4 ns: 1.02x faster | |
- needle=192, haystack=1000, seed=3: 337 ns +- 4 ns -> 331 ns +- 6 ns: 1.02x faster | |
- needle=384, haystack=16000, seed=2: 2.95 us +- 0.04 us -> 2.90 us +- 0.03 us: 1.02x faster | |
- needle=2, haystack=500, seed=1: 354 ns +- 3 ns -> 348 ns +- 8 ns: 1.02x faster | |
- needle=32, haystack=1000, seed=3: 277 ns +- 3 ns -> 273 ns +- 5 ns: 1.02x faster | |
- needle=64, haystack=24000, seed=1: 2.77 us +- 0.04 us -> 2.72 us +- 0.03 us: 1.02x faster | |
- needle=48, haystack=4000, seed=1: 778 ns +- 9 ns -> 765 ns +- 16 ns: 1.02x faster | |
- needle=96, haystack=1500, seed=2: 578 ns +- 7 ns -> 570 ns +- 8 ns: 1.02x faster | |
- needle=48, haystack=500, seed=1: 208 ns +- 2 ns -> 205 ns +- 2 ns: 1.02x faster | |
- needle=384, haystack=96000, seed=3: 18.9 us +- 0.2 us -> 18.6 us +- 0.2 us: 1.02x faster | |
- needle=32, haystack=2000, seed=2: 470 ns +- 7 ns -> 463 ns +- 7 ns: 1.01x faster | |
- needle=192, haystack=1000, seed=1: 364 ns +- 5 ns -> 359 ns +- 7 ns: 1.01x faster | |
- needle=64, haystack=8000, seed=3: 875 ns +- 13 ns -> 867 ns +- 12 ns: 1.01x faster | |
- needle=96, haystack=24000, seed=2: 3.09 us +- 0.03 us -> 3.06 us +- 0.03 us: 1.01x faster | |
Benchmark hidden because not significant (31): needle=2, haystack=750, seed=2, needle=2, haystack=3000, seed=1, needle=2, haystack=12000, seed=1, needle=3, haystack=750, seed=1, needle=3, haystack=12000, seed=3, needle=3, haystack=16000, seed=3, needle=4, haystack=500, seed=2, needle=4, haystack=12000, seed=3, needle=4, haystack=16000, seed=3, needle=6, haystack=3000, seed=1, needle=8, haystack=16000, seed=1, needle=8, haystack=32000, seed=2, needle=12, haystack=24000, seed=1, needle=16, haystack=750, seed=1, needle=24, haystack=32000, seed=2, needle=48, haystack=12000, seed=2, needle=96, haystack=1000, seed=3, needle=96, haystack=3000, seed=1, needle=96, haystack=6000, seed=3, needle=96, haystack=8000, seed=1, needle=96, haystack=8000, seed=2, needle=96, haystack=16000, seed=1, needle=96, haystack=16000, seed=3, needle=128, haystack=500, seed=1, needle=128, haystack=1500, seed=1, needle=128, haystack=6000, seed=3, needle=128, haystack=8000, seed=1, needle=128, haystack=32000, seed=3, needle=192, haystack=32000, seed=1, needle=256, haystack=2000, seed=1, needle=256, haystack=8000, seed=3 | |
Geometric mean: 1.10x faster |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment