fast_strstr
fast_strstr copied to clipboard
Performance on Intel Sandy Bridge
Linux fastpfor 3.5.0-41-generic x86_64 GNU/Linux
model name : Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz
warming up estimating clock resolution... mean is 1.267408 us (640001 iterations) found 150223 outliers among 639999 samples (23.5%) 5 (7.8e-4%) low severe 150218 (23.5%) high severe estimating cost of a clock call... mean is 30.54217 ns (7 iterations) found 1 outliers among 7 samples (14.3%) 1 (14.3%) high mild
benchmarking 10/strstr() mean: 1.594193 us, lb 1.592918 us, ub 1.596228 us, ci 0.950 std dev: 8.093629 ns, lb 5.857259 ns, ub 12.55515 ns, ci 0.950
benchmarking 10/fast_strstr() mean: 1.628369 us, lb 1.627696 us, ub 1.629204 us, ci 0.950 std dev: 3.828095 ns, lb 3.193790 ns, ub 4.595415 ns, ci 0.950
benchmarking 10/naive strstr() mean: 5.709117 us, lb 5.706078 us, ub 5.715712 us, ci 0.950 std dev: 21.92265 ns, lb 12.55488 ns, ub 42.69324 ns, ci 0.950
benchmarking 10/Volnitsky's strstr() mean: 175.2538 us, lb 174.8312 us, ub 175.6108 us, ci 0.950 std dev: 1.990471 us, lb 1.734296 us, ub 2.257835 us, ci 0.950
benchmarking 100/strstr() mean: 4.705086 us, lb 4.703258 us, ub 4.707541 us, ci 0.950 std dev: 10.80645 ns, lb 8.403548 ns, ub 14.71559 ns, ci 0.950
benchmarking 100/fast_strstr() mean: 4.042685 us, lb 4.039837 us, ub 4.045813 us, ci 0.950 std dev: 15.19927 ns, lb 13.28296 ns, ub 17.70672 ns, ci 0.950
benchmarking 100/naive strstr() mean: 57.08676 us, lb 57.02477 us, ub 57.33202 us, ci 0.950 std dev: 566.6585 ns, lb 90.59228 ns, ub 1.335786 us, ci 0.950
benchmarking 100/Volnitsky's strstr() mean: 180.9425 us, lb 180.5100 us, ub 181.4518 us, ci 0.950 std dev: 2.402622 us, lb 1.844015 us, ub 3.736097 us, ci 0.950 found 4 outliers among 100 samples (4.0%) 3 (3.0%) low mild 1 (1.0%) high severe variance introduced by outliers: 6.566% variance is slightly inflated by outliers
benchmarking 500/strstr() mean: 21.96991 us, lb 21.88581 us, ub 22.37752 us, ci 0.950 std dev: 819.0391 ns, lb 36.67606 ns, ub 1.952462 us, ci 0.950 found 4 outliers among 100 samples (4.0%) 3 (3.0%) high mild 1 (1.0%) high severe variance introduced by outliers: 33.623% variance is moderately inflated by outliers
benchmarking 500/fast_strstr() mean: 34.63315 us, lb 34.62039 us, ub 34.65325 us, ci 0.950 std dev: 81.09691 ns, lb 56.74725 ns, ub 131.9866 ns, ci 0.950
benchmarking 500/naive strstr() mean: 315.0184 us, lb 314.9230 us, ub 315.1382 us, ci 0.950 std dev: 543.5605 ns, lb 421.6370 ns, ub 743.4642 ns, ci 0.950
benchmarking 500/Volnitsky's strstr() mean: 211.4171 us, lb 210.9450 us, ub 211.7992 us, ci 0.950 std dev: 2.160847 us, lb 1.781255 us, ub 2.680457 us, ci 0.950
benchmarking 1000/strstr() mean: 45.17727 us, lb 45.16492 us, ub 45.19217 us, ci 0.950 std dev: 69.49113 ns, lb 58.10544 ns, ub 93.74666 ns, ci 0.950
benchmarking 1000/fast_strstr() mean: 73.74395 us, lb 73.72051 us, ub 73.77216 us, ci 0.950 std dev: 131.6885 ns, lb 112.2177 ns, ub 175.1475 ns, ci 0.950
benchmarking 1000/naive strstr() mean: 628.0861 us, lb 627.2341 us, ub 629.5404 us, ci 0.950 std dev: 5.567835 us, lb 3.145444 us, ub 10.45968 us, ci 0.950
benchmarking 1000/Volnitsky's strstr() mean: 249.6291 us, lb 249.2742 us, ub 250.5816 us, ci 0.950 std dev: 2.773047 us, lb 1.270828 us, ub 5.912387 us, ci 0.950
benchmarking 5000/strstr() mean: 222.7303 us, lb 221.4977 us, ub 225.9657 us, ci 0.950 std dev: 8.974565 us, lb 520.0371 ns, ub 18.02386 us, ci 0.950 found 6 outliers among 100 samples (6.0%) 3 (3.0%) high mild 3 (3.0%) high severe variance introduced by outliers: 37.536% variance is moderately inflated by outliers
benchmarking 5000/fast_strstr() mean: 401.9870 us, lb 401.8314 us, ub 402.2838 us, ci 0.950 std dev: 1.065782 us, lb 669.2739 ns, ub 1.993769 us, ci 0.950
benchmarking 5000/naive strstr() mean: 3.111546 ms, lb 3.106859 ms, ub 3.113888 ms, ci 0.950 std dev: 16.35704 us, lb 9.148868 us, ub 25.84153 us, ci 0.950
benchmarking 5000/Volnitsky's strstr() mean: 524.0641 us, lb 523.6611 us, ub 524.5155 us, ci 0.950 std dev: 2.185340 us, lb 1.850704 us, ub 2.951656 us, ci 0.950
benchmarking 10000/strstr() mean: 446.5701 us, lb 446.4326 us, ub 446.7338 us, ci 0.950 std dev: 767.2887 ns, lb 646.6373 ns, ub 1.082671 us, ci 0.950
benchmarking 10000/fast_strstr() mean: 816.9367 us, lb 816.6757 us, ub 817.2800 us, ci 0.950 std dev: 1.524186 us, lb 1.171275 us, ub 2.193804 us, ci 0.950
benchmarking 10000/naive strstr() mean: 6.210194 ms, lb 6.206634 ms, ub 6.212156 ms, ci 0.950 std dev: 13.15686 us, lb 7.901137 us, ub 20.36649 us, ci 0.950
benchmarking 10000/Volnitsky's strstr() mean: 1.004021 ms, lb 1.003301 ms, ub 1.004750 ms, ci 0.950 std dev: 3.695098 us, lb 3.233125 us, ub 4.480858 us, ci 0.950
benchmarking 50000/strstr() mean: 2.287219 ms, lb 2.282453 ms, ub 2.309909 ms, ci 0.950 std dev: 45.83904 us, lb 2.228513 us, ub 109.1830 us, ci 0.950 found 3 outliers among 100 samples (3.0%) 2 (2.0%) high severe variance introduced by outliers: 13.238% variance is moderately inflated by outliers
benchmarking 50000/fast_strstr() mean: 4.135659 ms, lb 4.134205 ms, ub 4.141059 ms, ci 0.950 std dev: 12.68429 us, lb 3.275680 us, ub 29.23738 us, ci 0.950
benchmarking 50000/naive strstr() mean: 30.95972 ms, lb 30.94829 ms, ub 30.96986 ms, ci 0.950 std dev: 55.00033 us, lb 46.10369 us, ub 69.21483 us, ci 0.950
benchmarking 50000/Volnitsky's strstr() mean: 7.124892 ms, lb 7.122100 ms, ub 7.129415 ms, ci 0.950 std dev: 17.79873 us, lb 12.22144 us, ub 31.89848 us, ci 0.950
benchmarking 147277/strstr() mean: 6.710361 ms, lb 6.709767 ms, ub 6.711607 ms, ci 0.950 std dev: 4.232145 us, lb 2.451880 us, ub 8.441579 us, ci 0.950
benchmarking 147277/fast_strstr() mean: 12.24863 ms, lb 12.24676 ms, ub 12.25340 ms, ci 0.950 std dev: 14.32248 us, lb 6.707484 us, ub 29.80957 us, ci 0.950
benchmarking 147277/naive strstr() collecting 100 samples, 1 iterations each, in estimated 9.086108 s mean: 90.66757 ms, lb 90.62816 ms, ub 90.70417 ms, ci 0.950 std dev: 194.0559 us, lb 170.4106 us, ub 225.2823 us, ci 0.950
benchmarking 147277/Volnitsky's strstr() mean: 39.00567 ms, lb 38.99358 ms, ub 39.02356 ms, ci 0.950 std dev: 74.47190 us, lb 52.16287 us, ub 111.3763 us, ci 0.950