Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make the compiler inline the hot RE2::DFA loop.
Right now the compiler does not inline the function and all branches are evaluated at each iteration of the loop. By templating the function instead of relying on compiler heuristics to do the constant folding, we force the compiler to create a separate optimized copy of the code for each case. This makes RE2 searching roughly 5 to 100% faster ! Detailed Benchmarks: ``` name old speed new speed delta Search_Easy0_CachedDFA/8/threads:1 196MB/s ± 2% 187MB/s ± 3% -4.64% (p=0.009 n=6+6) Search_Easy0_CachedDFA/8/threads:2 197MB/s ± 0% 189MB/s ± 2% -4.01% (p=0.002 n=6+6) Search_Easy0_CachedDFA/8/threads:4 192MB/s ± 2% 185MB/s ± 9% ~ (p=0.329 n=5+6) Search_Easy0_CachedDFA/8/threads:8 100MB/s ± 1% 112MB/s ± 1% +11.68% (p=0.016 n=4+5) Search_Easy0_CachedDFA/8/threads:12 98.4MB/s ± 5% 109.6MB/s ± 1% +11.38% (p=0.004 n=6+5) Search_Easy0_CachedDFA/64/threads:1 1.46GB/s ± 2% 1.51GB/s ± 1% +3.41% (p=0.008 n=5+5) Search_Easy0_CachedDFA/64/threads:2 1.42GB/s ± 2% 1.43GB/s ± 4% ~ (p=0.662 n=6+5) Search_Easy0_CachedDFA/64/threads:4 1.38GB/s ± 1% 1.41GB/s ±20% ~ (p=0.429 n=5+6) Search_Easy0_CachedDFA/64/threads:8 677MB/s ± 5% 767MB/s ± 1% +13.31% (p=0.002 n=6+6) Search_Easy0_CachedDFA/64/threads:12 667MB/s ± 4% 739MB/s ± 3% +10.80% (p=0.002 n=6+6) Search_Easy0_CachedDFA/512/threads:1 7.90GB/s ± 1% 7.92GB/s ± 4% ~ (p=0.818 n=6+6) Search_Easy0_CachedDFA/512/threads:2 7.85GB/s ± 6% 8.02GB/s ± 4% ~ (p=0.485 n=6+6) Search_Easy0_CachedDFA/512/threads:4 6.77GB/s ±13% 7.53GB/s ±11% ~ (p=0.093 n=6+6) Search_Easy0_CachedDFA/512/threads:8 3.60GB/s ± 9% 3.86GB/s ±11% ~ (p=0.132 n=6+6) Search_Easy0_CachedDFA/512/threads:12 3.47GB/s ± 4% 3.66GB/s ± 1% +5.50% (p=0.004 n=6+5) Search_Easy0_CachedDFA/4k/threads:1 15.7GB/s ± 2% 16.0GB/s ± 0% +2.04% (p=0.002 n=6+6) Search_Easy0_CachedDFA/4k/threads:2 15.0GB/s ± 3% 15.4GB/s ± 2% +2.49% (p=0.015 n=6+6) Search_Easy0_CachedDFA/4k/threads:4 13.4GB/s ±15% 14.0GB/s ± 8% ~ (p=0.792 n=6+5) Search_Easy0_CachedDFA/4k/threads:8 8.63GB/s ± 5% 8.58GB/s ± 4% ~ (p=1.000 n=6+6) Search_Easy0_CachedDFA/4k/threads:12 8.48GB/s ± 2% 8.44GB/s ± 3% ~ (p=0.589 n=6+6) Search_Easy0_CachedDFA/32k/threads:1 15.3GB/s ± 1% 15.4GB/s ± 1% ~ (p=0.937 n=6+6) Search_Easy0_CachedDFA/32k/threads:2 15.1GB/s ± 1% 15.1GB/s ± 1% ~ (p=0.937 n=6+6) Search_Easy0_CachedDFA/32k/threads:4 15.0GB/s ± 1% 14.9GB/s ± 3% ~ (p=0.548 n=5+5) Search_Easy0_CachedDFA/32k/threads:8 10.2GB/s ± 2% 10.2GB/s ± 4% ~ (p=0.485 n=6+6) Search_Easy0_CachedDFA/32k/threads:12 10.1GB/s ± 2% 10.0GB/s ± 1% ~ (p=0.589 n=6+6) Search_Easy0_CachedDFA/256k/threads:1 10.3GB/s ± 1% 10.4GB/s ± 1% ~ (p=0.485 n=6+6) Search_Easy0_CachedDFA/256k/threads:2 10.2GB/s ± 4% 10.3GB/s ± 1% ~ (p=0.537 n=6+5) Search_Easy0_CachedDFA/256k/threads:4 9.33GB/s ±16% 10.29GB/s ± 1% +10.29% (p=0.004 n=6+5) Search_Easy0_CachedDFA/256k/threads:8 6.16GB/s ± 6% 6.24GB/s ± 1% ~ (p=0.537 n=6+5) Search_Easy0_CachedDFA/256k/threads:12 6.03GB/s ± 2% 6.11GB/s ± 3% ~ (p=0.240 n=6+6) Search_Easy0_CachedDFA/2M/threads:1 7.16GB/s ± 1% 7.14GB/s ± 1% ~ (p=0.240 n=6+6) Search_Easy0_CachedDFA/2M/threads:2 7.11GB/s ± 0% 7.09GB/s ± 1% ~ (p=0.699 n=6+6) Search_Easy0_CachedDFA/2M/threads:4 6.88GB/s ± 3% 6.88GB/s ± 4% ~ (p=1.000 n=6+6) Search_Easy0_CachedDFA/2M/threads:8 5.10GB/s ± 1% 5.10GB/s ± 0% ~ (p=0.841 n=5+5) Search_Easy0_CachedDFA/2M/threads:12 4.91GB/s ± 1% 4.88GB/s ± 1% ~ (p=0.485 n=6+6) Search_Easy0_CachedDFA/16M/threads:1 6.49GB/s ± 0% 6.45GB/s ± 1% ~ (p=0.310 n=6+6) Search_Easy0_CachedDFA/16M/threads:2 6.32GB/s ± 0% 6.26GB/s ± 2% ~ (p=0.662 n=5+6) Search_Easy0_CachedDFA/16M/threads:4 6.10GB/s ± 2% 5.99GB/s ± 3% ~ (p=0.126 n=5+6) Search_Easy0_CachedDFA/16M/threads:8 4.63GB/s ± 0% 4.62GB/s ± 0% ~ (p=0.421 n=5+5) Search_Easy0_CachedDFA/16M/threads:12 4.50GB/s ± 2% 4.55GB/s ± 0% ~ (p=0.429 n=6+5) Search_Easy1_CachedDFA/8/threads:1 195MB/s ± 1% 189MB/s ±11% ~ (p=0.818 n=6+6) Search_Easy1_CachedDFA/8/threads:2 193MB/s ± 3% 194MB/s ± 2% ~ (p=0.937 n=6+6) Search_Easy1_CachedDFA/8/threads:4 192MB/s ± 3% 191MB/s ± 3% ~ (p=0.662 n=6+5) Search_Easy1_CachedDFA/8/threads:8 100MB/s ± 3% 108MB/s ± 0% +7.03% (p=0.016 n=5+4) Search_Easy1_CachedDFA/8/threads:12 96.6MB/s ± 2% 105.6MB/s ± 2% +9.30% (p=0.002 n=6+6) Search_Easy1_CachedDFA/64/threads:1 1.21GB/s ± 5% 1.32GB/s ± 0% +9.42% (p=0.004 n=6+5) Search_Easy1_CachedDFA/64/threads:2 1.20GB/s ± 4% 1.30GB/s ± 4% +8.24% (p=0.002 n=6+6) Search_Easy1_CachedDFA/64/threads:4 1.17GB/s ± 5% 1.21GB/s ±18% ~ (p=0.180 n=6+6) Search_Easy1_CachedDFA/64/threads:8 613MB/s ± 6% 691MB/s ± 6% +12.73% (p=0.004 n=5+6) Search_Easy1_CachedDFA/64/threads:12 603MB/s ± 2% 682MB/s ± 5% +13.03% (p=0.004 n=5+6) Search_Easy1_CachedDFA/512/threads:1 5.97GB/s ± 1% 6.62GB/s ± 2% +10.83% (p=0.004 n=5+6) Search_Easy1_CachedDFA/512/threads:2 6.70GB/s ± 7% 7.40GB/s ± 3% +10.49% (p=0.002 n=6+6) Search_Easy1_CachedDFA/512/threads:4 6.27GB/s ± 4% 6.73GB/s ± 2% +7.47% (p=0.010 n=6+4) Search_Easy1_CachedDFA/512/threads:8 3.33GB/s ± 8% 3.70GB/s ± 2% +11.04% (p=0.002 n=6+6) Search_Easy1_CachedDFA/512/threads:12 3.04GB/s ± 2% 3.39GB/s ± 2% +11.55% (p=0.002 n=6+6) Search_Easy1_CachedDFA/4k/threads:1 11.8GB/s ± 1% 13.4GB/s ± 0% +13.87% (p=0.004 n=6+5) Search_Easy1_CachedDFA/4k/threads:2 11.7GB/s ± 1% 13.1GB/s ± 2% +12.21% (p=0.010 n=4+6) Search_Easy1_CachedDFA/4k/threads:4 11.1GB/s ± 2% 12.2GB/s ± 5% +10.16% (p=0.004 n=5+6) Search_Easy1_CachedDFA/4k/threads:8 6.05GB/s ± 5% 6.77GB/s ± 3% +11.96% (p=0.002 n=6+6) Search_Easy1_CachedDFA/4k/threads:12 5.96GB/s ± 1% 6.65GB/s ± 3% +11.68% (p=0.002 n=6+6) Search_Easy1_CachedDFA/32k/threads:1 11.3GB/s ± 1% 13.0GB/s ± 1% +15.04% (p=0.002 n=6+6) Search_Easy1_CachedDFA/32k/threads:2 11.1GB/s ± 1% 12.8GB/s ± 1% +14.85% (p=0.008 n=5+5) Search_Easy1_CachedDFA/32k/threads:4 10.2GB/s ±14% 12.5GB/s ± 2% +21.94% (p=0.004 n=6+5) Search_Easy1_CachedDFA/32k/threads:8 6.34GB/s ± 0% 7.29GB/s ± 2% +15.00% (p=0.004 n=5+6) Search_Easy1_CachedDFA/32k/threads:12 6.24GB/s ± 4% 7.13GB/s ± 2% +14.30% (p=0.002 n=6+6) Search_Easy1_CachedDFA/256k/threads:1 7.36GB/s ± 1% 7.46GB/s ± 1% +1.42% (p=0.009 n=5+6) Search_Easy1_CachedDFA/256k/threads:2 7.24GB/s ± 1% 7.36GB/s ± 2% +1.62% (p=0.026 n=6+6) Search_Easy1_CachedDFA/256k/threads:4 7.16GB/s ± 2% 6.62GB/s ± 6% -7.52% (p=0.004 n=5+6) Search_Easy1_CachedDFA/256k/threads:8 4.25GB/s ± 0% 4.54GB/s ± 1% +6.68% (p=0.004 n=6+5) Search_Easy1_CachedDFA/256k/threads:12 4.18GB/s ± 2% 4.43GB/s ± 1% +5.78% (p=0.002 n=6+6) Search_Easy1_CachedDFA/2M/threads:1 5.91GB/s ± 0% 5.91GB/s ± 2% ~ (p=0.589 n=6+6) Search_Easy1_CachedDFA/2M/threads:2 5.89GB/s ± 0% 5.85GB/s ± 2% ~ (p=0.699 n=6+6) Search_Easy1_CachedDFA/2M/threads:4 5.57GB/s ± 6% 5.44GB/s ± 9% ~ (p=0.699 n=6+6) Search_Easy1_CachedDFA/2M/threads:8 3.88GB/s ± 1% 4.11GB/s ± 0% +5.91% (p=0.016 n=5+4) Search_Easy1_CachedDFA/2M/threads:12 3.79GB/s ± 3% 3.98GB/s ± 1% +5.28% (p=0.002 n=6+6) Search_Easy1_CachedDFA/16M/threads:1 5.48GB/s ± 1% 5.44GB/s ± 2% ~ (p=0.699 n=6+6) Search_Easy1_CachedDFA/16M/threads:2 5.34GB/s ± 2% 5.31GB/s ± 1% ~ (p=0.589 n=6+6) Search_Easy1_CachedDFA/16M/threads:4 5.09GB/s ± 3% 5.04GB/s ± 8% ~ (p=0.937 n=6+6) Search_Easy1_CachedDFA/16M/threads:8 3.67GB/s ± 4% 3.88GB/s ± 1% +5.78% (p=0.004 n=6+5) Search_Easy1_CachedDFA/16M/threads:12 3.62GB/s ± 1% 3.79GB/s ± 1% +4.78% (p=0.002 n=6+6) Search_Medium_CachedDFA/8/threads:1 140MB/s ± 2% 162MB/s ± 1% +15.61% (p=0.004 n=6+5) Search_Medium_CachedDFA/8/threads:2 140MB/s ± 1% 159MB/s ± 2% +13.80% (p=0.004 n=5+6) Search_Medium_CachedDFA/8/threads:4 138MB/s ± 1% 156MB/s ± 6% +13.08% (p=0.004 n=5+6) Search_Medium_CachedDFA/8/threads:8 77.9MB/s ± 5% 93.4MB/s ± 0% +19.85% (p=0.004 n=6+5) Search_Medium_CachedDFA/8/threads:12 76.1MB/s ± 3% 91.5MB/s ± 2% +20.29% (p=0.002 n=6+6) Search_Medium_CachedDFA/64/threads:1 266MB/s ± 1% 445MB/s ± 1% +66.86% (p=0.002 n=6+6) Search_Medium_CachedDFA/64/threads:2 283MB/s ± 6% 444MB/s ± 1% +56.67% (p=0.004 n=6+5) Search_Medium_CachedDFA/64/threads:4 250MB/s ±12% 431MB/s ± 4% +72.66% (p=0.002 n=6+6) Search_Medium_CachedDFA/64/threads:8 169MB/s ± 5% 312MB/s ± 1% +84.73% (p=0.004 n=6+5) Search_Medium_CachedDFA/64/threads:12 167MB/s ± 3% 302MB/s ± 1% +80.23% (p=0.002 n=6+6) Search_Medium_CachedDFA/512/threads:1 364MB/s ± 0% 571MB/s ± 1% +57.00% (p=0.002 n=6+6) Search_Medium_CachedDFA/512/threads:2 373MB/s ± 0% 570MB/s ± 0% +52.84% (p=0.008 n=5+5) Search_Medium_CachedDFA/512/threads:4 364MB/s ± 3% 534MB/s ±16% +46.73% (p=0.002 n=6+6) Search_Medium_CachedDFA/512/threads:8 206MB/s ± 5% 430MB/s ± 2% +108.87% (p=0.002 n=6+6) Search_Medium_CachedDFA/512/threads:12 209MB/s ± 2% 427MB/s ± 0% +103.77% (p=0.010 n=6+4) Search_Medium_CachedDFA/4k/threads:1 389MB/s ± 1% 592MB/s ± 1% +52.03% (p=0.002 n=6+6) Search_Medium_CachedDFA/4k/threads:2 385MB/s ± 1% 590MB/s ± 1% +52.96% (p=0.002 n=6+6) Search_Medium_CachedDFA/4k/threads:4 369MB/s ± 9% 559MB/s ± 7% +51.32% (p=0.002 n=6+6) Search_Medium_CachedDFA/4k/threads:8 224MB/s ± 3% 458MB/s ± 0% +104.42% (p=0.016 n=5+4) Search_Medium_CachedDFA/4k/threads:12 213MB/s ± 2% 455MB/s ± 1% +113.74% (p=0.004 n=6+5) Search_Medium_CachedDFA/32k/threads:1 388MB/s ± 1% 593MB/s ± 1% +52.68% (p=0.004 n=5+6) Search_Medium_CachedDFA/32k/threads:2 386MB/s ± 0% 593MB/s ± 0% +53.68% (p=0.004 n=5+6) Search_Medium_CachedDFA/32k/threads:4 367MB/s ± 6% 559MB/s ± 4% +52.38% (p=0.002 n=6+6) Search_Medium_CachedDFA/32k/threads:8 220MB/s ± 2% 460MB/s ± 0% +108.85% (p=0.004 n=6+5) Search_Medium_CachedDFA/32k/threads:12 211MB/s ± 0% 452MB/s ± 1% +114.87% (p=0.004 n=5+6) Search_Medium_CachedDFA/256k/threads:1 387MB/s ± 1% 595MB/s ± 0% +53.91% (p=0.002 n=6+6) Search_Medium_CachedDFA/256k/threads:2 386MB/s ± 0% 592MB/s ± 1% +53.50% (p=0.008 n=5+5) Search_Medium_CachedDFA/256k/threads:4 376MB/s ± 6% 583MB/s ± 2% +55.28% (p=0.008 n=5+5) Search_Medium_CachedDFA/256k/threads:8 218MB/s ± 0% 458MB/s ± 0% +110.03% (p=0.008 n=5+5) Search_Medium_CachedDFA/256k/threads:12 215MB/s ± 4% 455MB/s ± 1% +112.24% (p=0.004 n=6+5) Search_Medium_CachedDFA/2M/threads:1 387MB/s ± 0% 591MB/s ± 1% +52.82% (p=0.002 n=6+6) Search_Medium_CachedDFA/2M/threads:2 385MB/s ± 0% 591MB/s ± 0% +53.53% (p=0.008 n=5+5) Search_Medium_CachedDFA/2M/threads:4 366MB/s ± 6% 546MB/s ± 8% +49.28% (p=0.002 n=6+6) Search_Medium_CachedDFA/2M/threads:8 212MB/s ± 5% 456MB/s ± 1% +115.43% (p=0.004 n=6+5) Search_Medium_CachedDFA/2M/threads:12 211MB/s ± 1% 446MB/s ± 1% +111.65% (p=0.002 n=6+6) Search_Medium_CachedDFA/16M/threads:1 385MB/s ± 0% 585MB/s ± 1% +51.85% (p=0.002 n=6+6) Search_Medium_CachedDFA/16M/threads:2 378MB/s ± 4% 578MB/s ± 3% +52.88% (p=0.002 n=6+6) Search_Medium_CachedDFA/16M/threads:4 356MB/s ± 9% 555MB/s ± 9% +55.99% (p=0.002 n=6+6) Search_Medium_CachedDFA/16M/threads:8 218MB/s ± 1% 449MB/s ± 2% +106.09% (p=0.004 n=5+6) Search_Medium_CachedDFA/16M/threads:12 211MB/s ± 2% 447MB/s ± 1% +112.00% (p=0.002 n=6+6) Search_Hard_CachedDFA/8/threads:1 142MB/s ± 1% 163MB/s ± 0% +14.91% (p=0.004 n=6+5) Search_Hard_CachedDFA/8/threads:2 141MB/s ± 0% 160MB/s ± 3% +13.24% (p=0.002 n=6+6) Search_Hard_CachedDFA/8/threads:4 128MB/s ±26% 145MB/s ±24% +13.61% (p=0.041 n=6+6) Search_Hard_CachedDFA/8/threads:8 79.8MB/s ± 0% 92.5MB/s ± 5% +15.94% (p=0.010 n=4+6) Search_Hard_CachedDFA/8/threads:12 77.1MB/s ± 2% 91.3MB/s ± 3% +18.47% (p=0.002 n=6+6) Search_Hard_CachedDFA/64/threads:1 350MB/s ± 1% 447MB/s ± 1% +27.59% (p=0.004 n=6+5) Search_Hard_CachedDFA/64/threads:2 350MB/s ± 0% 442MB/s ± 1% +26.09% (p=0.002 n=6+6) Search_Hard_CachedDFA/64/threads:4 340MB/s ± 3% 418MB/s ± 6% +23.05% (p=0.002 n=6+6) Search_Hard_CachedDFA/64/threads:8 202MB/s ± 2% 307MB/s ± 1% +52.18% (p=0.004 n=6+5) Search_Hard_CachedDFA/64/threads:12 195MB/s ± 3% 305MB/s ± 0% +56.09% (p=0.004 n=6+5) Search_Hard_CachedDFA/512/threads:1 434MB/s ± 1% 573MB/s ± 0% +31.92% (p=0.002 n=6+6) Search_Hard_CachedDFA/512/threads:2 428MB/s ± 1% 566MB/s ± 2% +32.14% (p=0.002 n=6+6) Search_Hard_CachedDFA/512/threads:4 416MB/s ± 5% 530MB/s ± 8% +27.29% (p=0.002 n=6+6) Search_Hard_CachedDFA/512/threads:8 243MB/s ± 5% 430MB/s ± 2% +76.51% (p=0.002 n=6+6) Search_Hard_CachedDFA/512/threads:12 239MB/s ± 1% 427MB/s ± 1% +78.38% (p=0.004 n=5+6) Search_Hard_CachedDFA/4k/threads:1 445MB/s ± 0% 593MB/s ± 0% +33.12% (p=0.008 n=5+5) Search_Hard_CachedDFA/4k/threads:2 443MB/s ± 0% 590MB/s ± 1% +33.17% (p=0.002 n=6+6) Search_Hard_CachedDFA/4k/threads:4 425MB/s ± 6% 579MB/s ± 2% +36.49% (p=0.004 n=6+5) Search_Hard_CachedDFA/4k/threads:8 258MB/s ± 1% 452MB/s ± 2% +75.25% (p=0.004 n=5+6) Search_Hard_CachedDFA/4k/threads:12 250MB/s ± 2% 452MB/s ± 1% +80.80% (p=0.002 n=6+6) Search_Hard_CachedDFA/32k/threads:1 445MB/s ± 1% 595MB/s ± 0% +33.78% (p=0.002 n=6+6) Search_Hard_CachedDFA/32k/threads:2 444MB/s ± 0% 590MB/s ± 1% +33.04% (p=0.004 n=5+6) Search_Hard_CachedDFA/32k/threads:4 430MB/s ± 9% 572MB/s ± 3% +33.00% (p=0.002 n=6+6) Search_Hard_CachedDFA/32k/threads:8 249MB/s ± 4% 454MB/s ± 1% +82.04% (p=0.002 n=6+6) Search_Hard_CachedDFA/32k/threads:12 251MB/s ± 1% 452MB/s ± 1% +79.78% (p=0.002 n=6+6) Search_Hard_CachedDFA/256k/threads:1 445MB/s ± 1% 590MB/s ± 1% +32.63% (p=0.004 n=6+5) Search_Hard_CachedDFA/256k/threads:2 443MB/s ± 0% 587MB/s ± 3% +32.47% (p=0.002 n=6+6) Search_Hard_CachedDFA/256k/threads:4 426MB/s ± 4% 570MB/s ± 4% +33.78% (p=0.004 n=5+6) Search_Hard_CachedDFA/256k/threads:8 256MB/s ± 2% 455MB/s ± 3% +77.80% (p=0.004 n=5+6) Search_Hard_CachedDFA/256k/threads:12 252MB/s ± 3% 450MB/s ± 1% +78.40% (p=0.002 n=6+6) Search_Hard_CachedDFA/2M/threads:1 443MB/s ± 1% 592MB/s ± 1% +33.72% (p=0.002 n=6+6) Search_Hard_CachedDFA/2M/threads:2 442MB/s ± 0% 591MB/s ± 0% +33.85% (p=0.004 n=6+5) Search_Hard_CachedDFA/2M/threads:4 410MB/s ± 4% 564MB/s ± 2% +37.63% (p=0.008 n=5+5) Search_Hard_CachedDFA/2M/threads:8 256MB/s ± 2% 449MB/s ± 2% +75.60% (p=0.004 n=5+6) Search_Hard_CachedDFA/2M/threads:12 249MB/s ± 3% 449MB/s ± 2% +80.22% (p=0.002 n=6+6) Search_Hard_CachedDFA/16M/threads:1 441MB/s ± 1% 586MB/s ± 0% +32.76% (p=0.004 n=6+5) Search_Hard_CachedDFA/16M/threads:2 439MB/s ± 0% 583MB/s ± 1% +32.81% (p=0.004 n=5+6) Search_Hard_CachedDFA/16M/threads:4 407MB/s ±14% 553MB/s ± 5% +35.90% (p=0.002 n=6+6) Search_Hard_CachedDFA/16M/threads:8 256MB/s ± 0% 452MB/s ± 0% +76.89% (p=0.008 n=5+5) Search_Hard_CachedDFA/16M/threads:12 248MB/s ± 2% 445MB/s ± 1% +79.12% (p=0.002 n=6+6) Search_Fanout_CachedDFA/8/threads:1 139MB/s ± 1% 167MB/s ± 1% +20.07% (p=0.002 n=6+6) Search_Fanout_CachedDFA/8/threads:2 137MB/s ± 1% 163MB/s ± 4% +18.42% (p=0.002 n=6+6) Search_Fanout_CachedDFA/8/threads:4 124MB/s ±13% 153MB/s ± 8% +23.04% (p=0.002 n=6+6) Search_Fanout_CachedDFA/8/threads:8 75.1MB/s ± 3% 91.0MB/s ± 0% +21.18% (p=0.010 n=6+4) Search_Fanout_CachedDFA/8/threads:12 75.3MB/s ± 2% 88.4MB/s ± 2% +17.28% (p=0.002 n=6+6) Search_Fanout_CachedDFA/64/threads:1 335MB/s ± 1% 449MB/s ± 0% +34.06% (p=0.004 n=6+5) Search_Fanout_CachedDFA/64/threads:2 331MB/s ± 1% 446MB/s ± 1% +34.84% (p=0.004 n=5+6) Search_Fanout_CachedDFA/64/threads:4 297MB/s ±20% 437MB/s ± 6% +46.83% (p=0.002 n=6+6) Search_Fanout_CachedDFA/64/threads:8 183MB/s ± 4% 302MB/s ± 0% +65.05% (p=0.004 n=6+5) Search_Fanout_CachedDFA/64/threads:12 182MB/s ± 4% 298MB/s ± 2% +63.98% (p=0.002 n=6+6) Search_Fanout_CachedDFA/512/threads:1 422MB/s ± 0% 572MB/s ± 1% +35.62% (p=0.008 n=5+5) Search_Fanout_CachedDFA/512/threads:2 417MB/s ± 1% 568MB/s ± 1% +36.32% (p=0.002 n=6+6) Search_Fanout_CachedDFA/512/threads:4 402MB/s ± 3% 542MB/s ±11% +34.72% (p=0.002 n=6+6) Search_Fanout_CachedDFA/512/threads:8 223MB/s ± 0% 434MB/s ± 2% +94.32% (p=0.010 n=4+6) Search_Fanout_CachedDFA/512/threads:12 216MB/s ± 2% 429MB/s ± 1% +98.82% (p=0.004 n=6+5) Search_Fanout_CachedDFA/4k/threads:1 434MB/s ± 0% 593MB/s ± 0% +36.48% (p=0.004 n=6+5) Search_Fanout_CachedDFA/4k/threads:2 432MB/s ± 0% 590MB/s ± 0% +36.49% (p=0.004 n=6+5) Search_Fanout_CachedDFA/4k/threads:4 429MB/s ± 0% 567MB/s ± 8% +32.05% (p=0.004 n=5+6) Search_Fanout_CachedDFA/4k/threads:8 230MB/s ± 2% 459MB/s ± 0% +99.35% (p=0.016 n=5+4) Search_Fanout_CachedDFA/4k/threads:12 221MB/s ± 2% 453MB/s ± 1% +104.82% (p=0.002 n=6+6) Search_Fanout_CachedDFA/32k/threads:1 433MB/s ± 1% 595MB/s ± 0% +37.25% (p=0.002 n=6+6) Search_Fanout_CachedDFA/32k/threads:2 431MB/s ± 0% 592MB/s ± 0% +37.24% (p=0.004 n=5+6) Search_Fanout_CachedDFA/32k/threads:4 406MB/s ± 6% 574MB/s ± 4% +41.29% (p=0.002 n=6+6) Search_Fanout_CachedDFA/32k/threads:8 232MB/s ± 3% 464MB/s ± 0% +100.41% (p=0.004 n=6+5) Search_Fanout_CachedDFA/32k/threads:12 223MB/s ± 2% 459MB/s ± 1% +106.09% (p=0.002 n=6+6) Search_Fanout_CachedDFA/256k/threads:1 428MB/s ± 1% 595MB/s ± 0% +39.11% (p=0.002 n=6+6) Search_Fanout_CachedDFA/256k/threads:2 428MB/s ± 1% 593MB/s ± 0% +38.53% (p=0.004 n=6+5) Search_Fanout_CachedDFA/256k/threads:4 399MB/s ±15% 574MB/s ± 4% +43.77% (p=0.002 n=6+6) Search_Fanout_CachedDFA/256k/threads:8 232MB/s ± 5% 476MB/s ± 0% +104.62% (p=0.004 n=6+5) Search_Fanout_CachedDFA/256k/threads:12 224MB/s ± 4% 477MB/s ± 1% +112.81% (p=0.002 n=6+6) Search_Fanout_CachedDFA/2M/threads:1 426MB/s ± 1% 594MB/s ± 1% +39.51% (p=0.002 n=6+6) Search_Fanout_CachedDFA/2M/threads:2 424MB/s ± 1% 590MB/s ± 1% +39.21% (p=0.002 n=6+6) Search_Fanout_CachedDFA/2M/threads:4 391MB/s ± 9% 580MB/s ± 2% +48.19% (p=0.002 n=6+6) Search_Fanout_CachedDFA/2M/threads:8 224MB/s ± 6% 491MB/s ± 0% +119.10% (p=0.004 n=6+5) Search_Fanout_CachedDFA/2M/threads:12 220MB/s ± 1% 489MB/s ± 1% +122.04% (p=0.004 n=5+6) Search_Fanout_CachedDFA/16M/threads:1 425MB/s ± 0% 587MB/s ± 1% +38.32% (p=0.004 n=5+6) Search_Fanout_CachedDFA/16M/threads:2 422MB/s ± 1% 586MB/s ± 0% +38.97% (p=0.004 n=6+5) Search_Fanout_CachedDFA/16M/threads:4 357MB/s ±15% 567MB/s ± 2% +59.01% (p=0.002 n=6+6) Search_Fanout_CachedDFA/16M/threads:8 228MB/s ± 0% 483MB/s ± 2% +112.06% (p=0.010 n=4+6) Search_Fanout_CachedDFA/16M/threads:12 223MB/s ± 2% 484MB/s ± 1% +116.75% (p=0.002 n=6+6) Search_Parens_CachedDFA/8/threads:1 141MB/s ± 1% 162MB/s ± 1% +14.86% (p=0.004 n=6+5) Search_Parens_CachedDFA/8/threads:2 140MB/s ± 1% 158MB/s ± 4% +12.51% (p=0.002 n=6+6) Search_Parens_CachedDFA/8/threads:4 138MB/s ± 4% 151MB/s ±15% ~ (p=0.082 n=5+6) Search_Parens_CachedDFA/8/threads:8 78.0MB/s ± 6% 91.7MB/s ± 4% +17.59% (p=0.002 n=6+6) Search_Parens_CachedDFA/8/threads:12 77.6MB/s ± 2% 91.8MB/s ± 3% +18.32% (p=0.002 n=6+6) Search_Parens_CachedDFA/64/threads:1 352MB/s ± 1% 445MB/s ± 0% +26.58% (p=0.008 n=5+5) Search_Parens_CachedDFA/64/threads:2 347MB/s ± 2% 441MB/s ± 2% +27.05% (p=0.002 n=6+6) Search_Parens_CachedDFA/64/threads:4 336MB/s ± 5% 431MB/s ± 5% +27.96% (p=0.002 n=6+6) Search_Parens_CachedDFA/64/threads:8 205MB/s ± 2% 309MB/s ± 1% +50.83% (p=0.002 n=6+6) Search_Parens_CachedDFA/64/threads:12 198MB/s ± 4% 303MB/s ± 2% +52.95% (p=0.002 n=6+6) Search_Parens_CachedDFA/512/threads:1 436MB/s ± 0% 572MB/s ± 1% +31.03% (p=0.004 n=5+6) Search_Parens_CachedDFA/512/threads:2 430MB/s ± 1% 569MB/s ± 1% +32.10% (p=0.002 n=6+6) Search_Parens_CachedDFA/512/threads:4 417MB/s ± 8% 550MB/s ± 4% +31.74% (p=0.002 n=6+6) Search_Parens_CachedDFA/512/threads:8 251MB/s ± 2% 437MB/s ± 1% +74.07% (p=0.004 n=6+5) Search_Parens_CachedDFA/512/threads:12 243MB/s ± 3% 428MB/s ± 1% +76.19% (p=0.002 n=6+6) Search_Parens_CachedDFA/4k/threads:1 443MB/s ± 1% 594MB/s ± 0% +34.04% (p=0.004 n=6+5) Search_Parens_CachedDFA/4k/threads:2 443MB/s ± 0% 591MB/s ± 0% +33.42% (p=0.002 n=6+6) Search_Parens_CachedDFA/4k/threads:4 410MB/s ± 9% 581MB/s ± 2% +41.79% (p=0.002 n=6+6) Search_Parens_CachedDFA/4k/threads:8 255MB/s ± 6% 459MB/s ± 1% +79.82% (p=0.002 n=6+6) Search_Parens_CachedDFA/4k/threads:12 250MB/s ± 2% 450MB/s ± 1% +79.51% (p=0.002 n=6+6) Search_Parens_CachedDFA/32k/threads:1 444MB/s ± 1% 596MB/s ± 0% +34.17% (p=0.004 n=5+6) Search_Parens_CachedDFA/32k/threads:2 443MB/s ± 0% 593MB/s ± 0% +33.72% (p=0.002 n=6+6) Search_Parens_CachedDFA/32k/threads:4 434MB/s ± 4% 567MB/s ± 5% +30.67% (p=0.004 n=5+6) Search_Parens_CachedDFA/32k/threads:8 257MB/s ± 1% 459MB/s ± 2% +78.28% (p=0.004 n=5+6) Search_Parens_CachedDFA/32k/threads:12 248MB/s ± 1% 453MB/s ± 1% +82.71% (p=0.004 n=5+6) Search_Parens_CachedDFA/256k/threads:1 441MB/s ± 2% 597MB/s ± 0% +35.16% (p=0.004 n=6+5) Search_Parens_CachedDFA/256k/threads:2 442MB/s ± 1% 594MB/s ± 0% +34.41% (p=0.004 n=6+5) Search_Parens_CachedDFA/256k/threads:4 402MB/s ±18% 571MB/s ± 6% +41.92% (p=0.002 n=6+6) Search_Parens_CachedDFA/256k/threads:8 258MB/s ± 1% 453MB/s ± 2% +75.68% (p=0.004 n=5+6) Search_Parens_CachedDFA/256k/threads:12 251MB/s ± 2% 452MB/s ± 1% +80.04% (p=0.002 n=6+6) Search_Parens_CachedDFA/2M/threads:1 442MB/s ± 1% 592MB/s ± 2% +33.92% (p=0.002 n=6+6) Search_Parens_CachedDFA/2M/threads:2 440MB/s ± 1% 591MB/s ± 0% +34.24% (p=0.002 n=6+6) Search_Parens_CachedDFA/2M/threads:4 417MB/s ± 4% 583MB/s ± 1% +39.74% (p=0.008 n=5+5) Search_Parens_CachedDFA/2M/threads:8 251MB/s ± 5% 454MB/s ± 1% +80.51% (p=0.002 n=6+6) Search_Parens_CachedDFA/2M/threads:12 250MB/s ± 4% 447MB/s ± 1% +78.84% (p=0.002 n=6+6) Search_Parens_CachedDFA/16M/threads:1 441MB/s ± 1% 585MB/s ± 1% +32.65% (p=0.004 n=5+6) Search_Parens_CachedDFA/16M/threads:2 440MB/s ± 0% 585MB/s ± 0% +33.11% (p=0.004 n=6+5) Search_Parens_CachedDFA/16M/threads:4 422MB/s ± 7% 553MB/s ± 1% +31.13% (p=0.004 n=6+5) Search_Parens_CachedDFA/16M/threads:8 256MB/s ± 0% 452MB/s ± 1% +76.70% (p=0.004 n=6+5) Search_Parens_CachedDFA/16M/threads:12 249MB/s ± 2% 448MB/s ± 0% +79.67% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/8/threads:1 140MB/s ± 1% 159MB/s ± 2% +13.66% (p=0.008 n=5+5) Search_BigFixed_CachedDFA/8/threads:2 135MB/s ± 5% 158MB/s ± 1% +16.54% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/8/threads:4 123MB/s ±28% 146MB/s ±11% +18.75% (p=0.026 n=6+6) Search_BigFixed_CachedDFA/8/threads:8 77.0MB/s ± 4% 86.5MB/s ± 4% +12.35% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/8/threads:12 75.5MB/s ± 3% 86.8MB/s ± 0% +15.09% (p=0.004 n=6+5) Search_BigFixed_CachedDFA/64/threads:1 350MB/s ± 2% 436MB/s ± 6% +24.62% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/64/threads:2 346MB/s ± 2% 441MB/s ± 1% +27.73% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/64/threads:4 336MB/s ± 7% 434MB/s ± 2% +29.16% (p=0.008 n=5+5) Search_BigFixed_CachedDFA/64/threads:8 200MB/s ± 5% 298MB/s ± 1% +48.94% (p=0.004 n=6+5) Search_BigFixed_CachedDFA/64/threads:12 199MB/s ± 3% 294MB/s ± 1% +48.05% (p=0.004 n=6+5) Search_BigFixed_CachedDFA/512/threads:1 426MB/s ± 3% 533MB/s ± 6% +25.20% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/512/threads:2 422MB/s ± 2% 511MB/s ± 3% +21.16% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/512/threads:4 402MB/s ± 5% 479MB/s ± 3% +19.30% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/512/threads:8 224MB/s ± 8% 283MB/s ± 7% +26.30% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/512/threads:12 215MB/s ± 3% 272MB/s ± 1% +26.68% (p=0.004 n=5+6) Search_BigFixed_CachedDFA/4k/threads:1 230MB/s ± 6% 229MB/s ±13% ~ (p=0.699 n=6+6) Search_BigFixed_CachedDFA/4k/threads:2 211MB/s ±12% 210MB/s ± 9% ~ (p=0.937 n=6+6) Search_BigFixed_CachedDFA/4k/threads:4 169MB/s ±11% 189MB/s ± 8% +11.68% (p=0.015 n=6+6) Search_BigFixed_CachedDFA/4k/threads:8 126MB/s ± 2% 141MB/s ± 2% +12.19% (p=0.004 n=5+6) Search_BigFixed_CachedDFA/4k/threads:12 127MB/s ± 3% 145MB/s ± 3% +14.70% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/32k/threads:1 161MB/s ± 1% 168MB/s ± 0% +4.46% (p=0.004 n=6+5) Search_BigFixed_CachedDFA/32k/threads:2 148MB/s ± 3% 153MB/s ± 2% +3.39% (p=0.009 n=6+6) Search_BigFixed_CachedDFA/32k/threads:4 151MB/s ± 3% 156MB/s ± 3% +3.45% (p=0.041 n=6+6) Search_BigFixed_CachedDFA/32k/threads:8 109MB/s ± 6% 124MB/s ± 6% +14.70% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/32k/threads:12 90.4MB/s ± 3% 104.9MB/s ± 1% +16.07% (p=0.002 n=6+6) Search_BigFixed_CachedDFA/256k/threads:1 93.9MB/s ± 7% 99.2MB/s ± 3% +5.68% (p=0.041 n=6+6) Search_BigFixed_CachedDFA/256k/threads:2 464kB/s ± 4% 488kB/s ± 2% +5.04% (p=0.016 n=5+5) Search_BigFixed_CachedDFA/256k/threads:4 300kB/s ± 9% 276kB/s ± 7% -7.79% (p=0.037 n=6+6) Search_BigFixed_CachedDFA/256k/threads:8 126kB/s ± 6% 124kB/s ± 3% ~ (p=0.368 n=6+6) Search_BigFixed_CachedDFA/256k/threads:12 74.7kB/s ±12% 72.2kB/s ±12% ~ (p=0.431 n=6+6) Search_BigFixed_CachedDFA/1M/threads:1 668kB/s ± 2% 650kB/s ± 6% ~ (p=0.076 n=6+6) Search_BigFixed_CachedDFA/1M/threads:2 205kB/s ± 5% 201kB/s ± 2% ~ (p=0.370 n=6+6) Search_BigFixed_CachedDFA/1M/threads:4 100kB/s ± 9% 105kB/s ± 9% ~ (p=0.416 n=6+6) Search_BigFixed_CachedDFA/1M/threads:8 67.3kB/s ±11% 64.5kB/s ± 7% ~ (p=0.524 n=6+6) Search_BigFixed_CachedDFA/1M/threads:12 65.5kB/s ± 8% 63.2kB/s ± 9% ~ (p=0.411 n=6+6) Search_Success_CachedDFA/8/threads:1 137MB/s ± 2% 160MB/s ± 1% +16.01% (p=0.002 n=6+6) Search_Success_CachedDFA/8/threads:2 136MB/s ± 2% 158MB/s ± 1% +16.44% (p=0.002 n=6+6) Search_Success_CachedDFA/8/threads:4 128MB/s ±12% 151MB/s ± 7% +18.51% (p=0.002 n=6+6) Search_Success_CachedDFA/8/threads:8 76.8MB/s ± 4% 88.2MB/s ± 0% +14.83% (p=0.008 n=5+5) Search_Success_CachedDFA/8/threads:12 73.1MB/s ± 2% 85.6MB/s ± 2% +17.05% (p=0.002 n=6+6) Search_Success_CachedDFA/64/threads:1 334MB/s ± 0% 444MB/s ± 1% +32.75% (p=0.004 n=5+6) Search_Success_CachedDFA/64/threads:2 332MB/s ± 0% 438MB/s ± 2% +31.74% (p=0.002 n=6+6) Search_Success_CachedDFA/64/threads:4 324MB/s ± 6% 425MB/s ± 6% +31.10% (p=0.002 n=6+6) Search_Success_CachedDFA/64/threads:8 184MB/s ± 1% 299MB/s ± 4% +62.33% (p=0.004 n=5+6) Search_Success_CachedDFA/64/threads:12 177MB/s ± 1% 294MB/s ± 1% +65.69% (p=0.002 n=6+6) Search_Success_CachedDFA/512/threads:1 420MB/s ± 1% 573MB/s ± 0% +36.52% (p=0.002 n=6+6) Search_Success_CachedDFA/512/threads:2 417MB/s ± 0% 570MB/s ± 0% +36.53% (p=0.004 n=6+5) Search_Success_CachedDFA/512/threads:4 406MB/s ± 8% 559MB/s ± 4% +37.64% (p=0.002 n=6+6) Search_Success_CachedDFA/512/threads:8 225MB/s ± 3% 433MB/s ± 0% +92.18% (p=0.004 n=6+5) Search_Success_CachedDFA/512/threads:12 216MB/s ± 1% 426MB/s ± 1% +97.43% (p=0.002 n=6+6) Search_Success_CachedDFA/4k/threads:1 432MB/s ± 1% 595MB/s ± 0% +37.56% (p=0.004 n=6+5) Search_Success_CachedDFA/4k/threads:2 430MB/s ± 1% 591MB/s ± 0% +37.53% (p=0.002 n=6+6) Search_Success_CachedDFA/4k/threads:4 399MB/s ±18% 550MB/s ± 7% +37.86% (p=0.002 n=6+6) Search_Success_CachedDFA/4k/threads:8 224MB/s ± 6% 458MB/s ± 1% +104.32% (p=0.004 n=6+5) Search_Success_CachedDFA/4k/threads:12 221MB/s ± 3% 447MB/s ± 1% +102.68% (p=0.002 n=6+6) Search_Success_CachedDFA/32k/threads:1 434MB/s ± 0% 595MB/s ± 1% +37.16% (p=0.004 n=5+6) Search_Success_CachedDFA/32k/threads:2 431MB/s ± 0% 593MB/s ± 0% +37.55% (p=0.004 n=5+6) Search_Success_CachedDFA/32k/threads:4 420MB/s ± 2% 575MB/s ± 3% +36.71% (p=0.004 n=5+6) Search_Success_CachedDFA/32k/threads:8 230MB/s ± 1% 459MB/s ± 0% +99.72% (p=0.004 n=6+5) Search_Success_CachedDFA/32k/threads:12 224MB/s ± 1% 456MB/s ± 1% +103.42% (p=0.004 n=6+5) Search_Success_CachedDFA/256k/threads:1 427MB/s ± 1% 597MB/s ± 0% +39.73% (p=0.004 n=6+5) Search_Success_CachedDFA/256k/threads:2 427MB/s ± 0% 593MB/s ± 0% +38.77% (p=0.008 n=5+5) Search_Success_CachedDFA/256k/threads:4 406MB/s ± 6% 581MB/s ± 4% +43.22% (p=0.002 n=6+6) Search_Success_CachedDFA/256k/threads:8 229MB/s ± 0% 458MB/s ± 0% +100.03% (p=0.010 n=4+6) Search_Success_CachedDFA/256k/threads:12 224MB/s ± 2% 452MB/s ± 1% +101.66% (p=0.002 n=6+6) Search_Success_CachedDFA/2M/threads:1 426MB/s ± 1% 595MB/s ± 0% +39.88% (p=0.004 n=6+5) Search_Success_CachedDFA/2M/threads:2 425MB/s ± 1% 590MB/s ± 1% +38.93% (p=0.004 n=5+6) Search_Success_CachedDFA/2M/threads:4 388MB/s ± 9% 574MB/s ± 4% +48.15% (p=0.002 n=6+6) Search_Success_CachedDFA/2M/threads:8 229MB/s ± 1% 453MB/s ± 0% +98.03% (p=0.029 n=4+4) Search_Success_CachedDFA/2M/threads:12 222MB/s ± 3% 451MB/s ± 1% +102.69% (p=0.002 n=6+6) Search_Success_CachedDFA/16M/threads:1 423MB/s ± 1% 587MB/s ± 0% +38.84% (p=0.004 n=6+5) Search_Success_CachedDFA/16M/threads:2 422MB/s ± 0% 585MB/s ± 0% +38.64% (p=0.004 n=6+5) Search_Success_CachedDFA/16M/threads:4 394MB/s ± 7% 538MB/s ± 6% +36.37% (p=0.002 n=6+6) Search_Success_CachedDFA/16M/threads:8 223MB/s ± 6% 451MB/s ± 0% +102.34% (p=0.002 n=6+6) Search_Success_CachedDFA/16M/threads:12 220MB/s ± 2% 448MB/s ± 1% +103.48% (p=0.002 n=6+6) Search_Success1_CachedDFA/8/threads:1 140MB/s ± 1% 156MB/s ± 3% +11.43% (p=0.002 n=6+6) Search_Success1_CachedDFA/8/threads:2 139MB/s ± 1% 157MB/s ± 2% +12.63% (p=0.002 n=6+6) Search_Success1_CachedDFA/8/threads:4 131MB/s ± 6% 141MB/s ±17% ~ (p=0.394 n=6+6) Search_Success1_CachedDFA/8/threads:8 78.3MB/s ± 0% 88.1MB/s ± 0% +12.50% (p=0.016 n=4+5) Search_Success1_CachedDFA/8/threads:12 76.1MB/s ± 3% 86.7MB/s ± 0% +14.01% (p=0.004 n=6+5) Search_Success1_CachedDFA/64/threads:1 344MB/s ± 5% 439MB/s ± 4% +27.46% (p=0.002 n=6+6) Search_Success1_CachedDFA/64/threads:2 348MB/s ± 0% 438MB/s ± 1% +25.57% (p=0.002 n=6+6) Search_Success1_CachedDFA/64/threads:4 301MB/s ±26% 425MB/s ± 7% +41.32% (p=0.002 n=6+6) Search_Success1_CachedDFA/64/threads:8 206MB/s ± 3% 299MB/s ± 1% +44.92% (p=0.008 n=5+5) Search_Success1_CachedDFA/64/threads:12 197MB/s ± 1% 293MB/s ± 1% +48.46% (p=0.004 n=5+6) Search_Success1_CachedDFA/512/threads:1 446MB/s ± 2% 570MB/s ± 1% +27.82% (p=0.002 n=6+6) Search_Success1_CachedDFA/512/threads:2 443MB/s ± 1% 569MB/s ± 0% +28.46% (p=0.004 n=5+6) Search_Success1_CachedDFA/512/threads:4 442MB/s ± 0% 531MB/s ±15% +20.25% (p=0.004 n=5+6) Search_Success1_CachedDFA/512/threads:8 248MB/s ± 7% 429MB/s ± 2% +72.71% (p=0.002 n=6+6) Search_Success1_CachedDFA/512/threads:12 248MB/s ± 3% 426MB/s ± 1% +71.91% (p=0.002 n=6+6) Search_Success1_CachedDFA/4k/threads:1 461MB/s ± 1% 594MB/s ± 1% +28.90% (p=0.002 n=6+6) Search_Success1_CachedDFA/4k/threads:2 457MB/s ± 0% 591MB/s ± 0% +29.28% (p=0.002 n=6+6) Search_Success1_CachedDFA/4k/threads:4 404MB/s ±18% 580MB/s ± 1% +43.56% (p=0.002 n=6+6) Search_Success1_CachedDFA/4k/threads:8 254MB/s ± 4% 455MB/s ± 3% +79.34% (p=0.002 n=6+6) Search_Success1_CachedDFA/4k/threads:12 254MB/s ± 2% 451MB/s ± 1% +77.21% (p=0.002 n=6+6) Search_Success1_CachedDFA/32k/threads:1 460MB/s ± 1% 595MB/s ± 1% +29.28% (p=0.002 n=6+6) Search_Success1_CachedDFA/32k/threads:2 458MB/s ± 1% 593MB/s ± 0% +29.40% (p=0.004 n=6+5) Search_Success1_CachedDFA/32k/threads:4 425MB/s ±18% 572MB/s ± 5% +34.61% (p=0.002 n=6+6) Search_Success1_CachedDFA/32k/threads:8 262MB/s ± 0% 455MB/s ± 2% +73.79% (p=0.010 n=4+6) Search_Success1_CachedDFA/32k/threads:12 257MB/s ± 1% 453MB/s ± 1% +76.24% (p=0.002 n=6+6) Search_Success1_CachedDFA/256k/threads:1 460MB/s ± 1% 596MB/s ± 0% +29.58% (p=0.004 n=6+5) Search_Success1_CachedDFA/256k/threads:2 458MB/s ± 0% 592MB/s ± 1% +29.45% (p=0.004 n=5+6) Search_Success1_CachedDFA/256k/threads:4 436MB/s ± 3% 573MB/s ± 7% +31.43% (p=0.004 n=5+6) Search_Success1_CachedDFA/256k/threads:8 258MB/s ± 7% 455MB/s ± 2% +76.26% (p=0.002 n=6+6) Search_Success1_CachedDFA/256k/threads:12 254MB/s ± 3% 453MB/s ± 1% +78.27% (p=0.002 n=6+6) Search_Success1_CachedDFA/2M/threads:1 461MB/s ± 1% 594MB/s ± 1% +28.80% (p=0.002 n=6+6) Search_Success1_CachedDFA/2M/threads:2 457MB/s ± 0% 592MB/s ± 0% +29.42% (p=0.004 n=6+5) Search_Success1_CachedDFA/2M/threads:4 452MB/s ± 1% 562MB/s ±10% +24.31% (p=0.004 n=5+6) Search_Success1_CachedDFA/2M/threads:8 263MB/s ± 2% 455MB/s ± 0% +72.60% (p=0.004 n=5+6) Search_Success1_CachedDFA/2M/threads:12 255MB/s ± 4% 449MB/s ± 1% +76.26% (p=0.002 n=6+6) Search_Success1_CachedDFA/16M/threads:1 457MB/s ± 1% 588MB/s ± 0% +28.58% (p=0.002 n=6+6) Search_Success1_CachedDFA/16M/threads:2 453MB/s ± 1% 586MB/s ± 0% +29.38% (p=0.002 n=6+6) Search_Success1_CachedDFA/16M/threads:4 412MB/s ±11% 564MB/s ± 6% +36.79% (p=0.002 n=6+6) Search_Success1_CachedDFA/16M/threads:8 260MB/s ± 7% 451MB/s ± 0% +73.63% (p=0.010 n=6+4) Search_Success1_CachedDFA/16M/threads:12 251MB/s ± 4% 449MB/s ± 1% +79.20% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/8/threads:1 199MB/s ± 5% 222MB/s ± 1% +11.27% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/8/threads:2 200MB/s ± 1% 219MB/s ± 1% +9.29% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/8/threads:4 188MB/s ± 6% 198MB/s ±14% ~ (p=0.699 n=6+6) Search_AltMatch_CachedDFA/8/threads:8 114MB/s ± 1% 123MB/s ± 4% +8.33% (p=0.010 n=4+6) Search_AltMatch_CachedDFA/8/threads:12 111MB/s ± 1% 121MB/s ± 0% +8.74% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/64/threads:1 1.62GB/s ± 1% 1.78GB/s ± 0% +9.78% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/64/threads:2 1.59GB/s ± 3% 1.74GB/s ± 2% +9.53% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/64/threads:4 1.51GB/s ± 9% 1.57GB/s ±10% ~ (p=0.589 n=6+6) Search_AltMatch_CachedDFA/64/threads:8 914MB/s ± 1% 997MB/s ± 0% +9.08% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/64/threads:12 880MB/s ± 1% 989MB/s ± 2% +12.40% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/512/threads:1 12.9GB/s ± 1% 14.1GB/s ± 0% +9.34% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/512/threads:2 12.9GB/s ± 0% 14.0GB/s ± 2% +8.30% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/512/threads:4 12.2GB/s ±11% 13.8GB/s ± 4% +13.00% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/512/threads:8 7.30GB/s ± 0% 8.01GB/s ± 0% +9.67% (p=0.016 n=5+4) Search_AltMatch_CachedDFA/512/threads:12 7.13GB/s ± 2% 7.77GB/s ± 3% +9.06% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/4k/threads:1 104GB/s ± 0% 114GB/s ± 0% +9.69% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/4k/threads:2 103GB/s ± 1% 113GB/s ± 0% +10.09% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/4k/threads:4 98.6GB/s ± 5% 102.3GB/s ±12% ~ (p=0.394 n=6+6) Search_AltMatch_CachedDFA/4k/threads:8 59.3GB/s ± 2% 64.8GB/s ± 3% +9.24% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/4k/threads:12 57.2GB/s ± 2% 62.2GB/s ± 1% +8.75% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/32k/threads:1 827GB/s ± 1% 895GB/s ± 4% +8.26% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/32k/threads:2 811GB/s ± 3% 889GB/s ± 1% +9.53% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/32k/threads:4 754GB/s ± 9% 827GB/s ± 9% +9.72% (p=0.041 n=6+6) Search_AltMatch_CachedDFA/32k/threads:8 466GB/s ± 0% 514GB/s ± 0% +10.09% (p=0.010 n=6+4) Search_AltMatch_CachedDFA/32k/threads:12 460GB/s ± 1% 501GB/s ± 1% +9.04% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/256k/threads:1 6.59TB/s ± 1% 7.27TB/s ± 0% +10.30% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/256k/threads:2 6.60TB/s ± 0% 7.09TB/s ± 5% +7.32% (p=0.004 n=5+6) Search_AltMatch_CachedDFA/256k/threads:4 6.13TB/s ± 4% 6.58TB/s ±12% ~ (p=0.240 n=6+6) Search_AltMatch_CachedDFA/256k/threads:8 3.73TB/s ± 1% 4.11TB/s ± 2% +10.13% (p=0.004 n=5+6) Search_AltMatch_CachedDFA/256k/threads:12 3.64TB/s ± 3% 4.02TB/s ± 2% +10.27% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/2M/threads:1 53.1TB/s ± 1% 58.1TB/s ± 1% +9.42% (p=0.004 n=5+6) Search_AltMatch_CachedDFA/2M/threads:2 51.9TB/s ± 2% 57.8TB/s ± 0% +11.32% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/2M/threads:4 47.7TB/s ± 6% 54.8TB/s ± 5% +15.03% (p=0.004 n=6+5) Search_AltMatch_CachedDFA/2M/threads:8 29.3TB/s ± 4% 32.7TB/s ± 1% +11.43% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/2M/threads:12 29.1TB/s ± 3% 32.0TB/s ± 3% +10.03% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/16M/threads:1 417TB/s ± 7% 453TB/s ± 3% +8.79% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/16M/threads:2 415TB/s ± 4% 458TB/s ± 2% +10.25% (p=0.002 n=6+6) Search_AltMatch_CachedDFA/16M/threads:4 406TB/s ± 4% 419TB/s ± 8% ~ (p=0.589 n=6+6) Search_AltMatch_CachedDFA/16M/threads:8 239TB/s ± 0% 262TB/s ± 0% +9.79% (p=0.008 n=5+5) Search_AltMatch_CachedDFA/16M/threads:12 235TB/s ± 1% 256TB/s ± 1% +8.78% (p=0.008 n=5+5) ``` Change-Id: I09708dd9ae6c2e134460a59f690248b366a204e2 Reviewed-on: https://code-review.googlesource.com/c/re2/+/57510 Reviewed-by: Paul Wankadia <[email protected]>
- Loading branch information