Giter VIP home page Giter VIP logo

byteshift_strstr's People

Contributors

taleinat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

byteshift_strstr's Issues

Just for info: my benchmark

@taleinat thought maybe you might be interested on another benchmark run.

Arch Linux: Intel® Core™ i3-2310M CPU @ 2.10GHz × 4 Memory: 3.8 GiB

Seem strstr is quite a bit faster than what you measured.

benchmarking 147277/strstr()
mean: 3.728909 ms you reported: 19.8 ms

benchmarking 147277/byteshift_strstr()
mean: 25.58909 ms you reported: 15.0 ms

[user@evo benchmark]$ ./benchmark
warming up
estimating clock resolution...
mean is 1.342729 us (640001 iterations)
found 3530 outliers among 639999 samples (0.6%)
  2052 (0.3%) high severe
estimating cost of a clock call...
mean is 52.66098 ns (8 iterations)

benchmarking 10/strstr()
mean: 2.708128 us, lb 2.673099 us, ub 2.762792 us, ci 0.950
std dev: 220.3285 ns, lb 158.2793 ns, ub 298.3477 ns, ci 0.950
found 16 outliers among 100 samples (16.0%)
  7 (7.0%) high mild
  9 (9.0%) high severe
variance introduced by outliers: 71.742%
variance is severely inflated by outliers

benchmarking 10/fast_strstr()
mean: 2.756895 us, lb 2.749841 us, ub 2.766130 us, ci 0.950
std dev: 41.17383 ns, lb 33.33731 ns, ub 54.27227 ns, ci 0.950
found 5 outliers among 100 samples (5.0%)
  4 (4.0%) high mild
  1 (1.0%) high severe
variance introduced by outliers: 7.552%
variance is slightly inflated by outliers

benchmarking 10/byteshift_strstr()
mean: 2.714543 us, lb 2.706418 us, ub 2.724957 us, ci 0.950
std dev: 47.14232 ns, lb 38.28882 ns, ub 58.33500 ns, ci 0.950
found 5 outliers among 100 samples (5.0%)
  5 (5.0%) high mild
variance introduced by outliers: 10.373%
variance is moderately inflated by outliers

benchmarking 10/naive strstr()
mean: 9.548341 us, lb 9.524516 us, ub 9.586556 us, ci 0.950
std dev: 150.8782 ns, lb 106.6101 ns, ub 243.9110 ns, ci 0.950
found 6 outliers among 100 samples (6.0%)
  4 (4.0%) high mild
  2 (2.0%) high severe
variance introduced by outliers: 8.493%
variance is slightly inflated by outliers

benchmarking 10/Volnitsky's strstr()
mean: 292.9906 us, lb 292.5453 us, ub 293.5519 us, ci 0.950
std dev: 2.553702 us, lb 2.008846 us, ub 3.508563 us, ci 0.950

benchmarking 100/strstr()
mean: 4.900097 us, lb 4.886682 us, ub 4.919300 us, ci 0.950
std dev: 81.39637 ns, lb 63.08813 ns, ub 116.7420 ns, ci 0.950
found 7 outliers among 100 samples (7.0%)
  5 (5.0%) high mild
  2 (2.0%) high severe
variance introduced by outliers: 9.434%
variance is slightly inflated by outliers

benchmarking 100/fast_strstr()
mean: 7.325504 us, lb 7.300511 us, ub 7.398019 us, ci 0.950
std dev: 199.5341 ns, lb 85.85720 ns, ub 432.0731 ns, 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: 21.886%
variance is moderately inflated by outliers

benchmarking 100/byteshift_strstr()
mean: 8.835791 us, lb 8.820650 us, ub 8.853719 us, ci 0.950
std dev: 84.25195 ns, lb 72.10566 ns, ub 102.1634 ns, ci 0.950

benchmarking 100/naive strstr()
mean: 117.2439 us, lb 117.0440 us, ub 117.4913 us, ci 0.950
std dev: 1.131590 us, lb 952.2153 ns, ub 1.507388 us, ci 0.950

benchmarking 100/Volnitsky's strstr()
mean: 296.0453 us, lb 295.7177 us, ub 296.3223 us, ci 0.950
std dev: 1.540553 us, lb 1.268294 us, ub 1.966355 us, ci 0.950

benchmarking 500/strstr()
mean: 10.44929 us, lb 10.42723 us, ub 10.47691 us, ci 0.950
std dev: 127.2079 ns, lb 105.2664 ns, ub 155.7071 ns, ci 0.950

benchmarking 500/fast_strstr()
mean: 47.88492 us, lb 47.76298 us, ub 48.05505 us, ci 0.950
std dev: 732.5680 ns, lb 573.0153 ns, ub 944.5384 ns, ci 0.950
found 10 outliers among 100 samples (10.0%)
  5 (5.0%) high mild
  5 (5.0%) high severe
variance introduced by outliers: 8.459%
variance is slightly inflated by outliers

benchmarking 500/byteshift_strstr()
mean: 77.45291 us, lb 76.69766 us, ub 78.72633 us, ci 0.950
std dev: 4.930864 us, lb 3.314176 us, ub 7.051583 us, ci 0.950
found 9 outliers among 100 samples (9.0%)
  8 (8.0%) high severe
variance introduced by outliers: 60.518%
variance is severely inflated by outliers

benchmarking 500/naive strstr()
mean: 528.2449 us, lb 525.6831 us, ub 534.4736 us, ci 0.950
std dev: 19.25845 us, lb 9.756960 us, ub 38.84756 us, ci 0.950
found 9 outliers among 100 samples (9.0%)
  5 (5.0%) high mild
  4 (4.0%) high severe
variance introduced by outliers: 32.641%
variance is moderately inflated by outliers

benchmarking 500/Volnitsky's strstr()
mean: 329.8826 us, lb 329.4615 us, ub 330.4581 us, ci 0.950
std dev: 2.487012 us, lb 1.773679 us, ub 3.678654 us, ci 0.950

benchmarking 1000/strstr()
mean: 18.02276 us, lb 17.97584 us, ub 18.08230 us, ci 0.950
std dev: 269.7681 ns, lb 223.8934 ns, ub 354.7600 ns, ci 0.950
found 6 outliers among 100 samples (6.0%)
  5 (5.0%) high mild
  1 (1.0%) high severe
variance introduced by outliers: 7.554%
variance is slightly inflated by outliers

benchmarking 1000/fast_strstr()
mean: 99.01369 us, lb 98.88137 us, ub 99.19233 us, ci 0.950
std dev: 785.4669 ns, lb 620.8176 ns, ub 991.0131 ns, ci 0.950

benchmarking 1000/byteshift_strstr()
mean: 160.5879 us, lb 160.4461 us, ub 160.7662 us, ci 0.950
std dev: 813.7083 ns, lb 677.5520 ns, ub 1.019874 us, ci 0.950

benchmarking 1000/naive strstr()
mean: 1.028052 ms, lb 1.026981 ms, ub 1.029283 ms, ci 0.950
std dev: 5.857890 us, lb 5.030297 us, ub 6.859681 us, ci 0.950

benchmarking 1000/Volnitsky's strstr()
mean: 386.6976 us, lb 386.3203 us, ub 387.1017 us, ci 0.950
std dev: 2.003607 us, lb 1.698496 us, ub 2.417213 us, ci 0.950

benchmarking 5000/strstr()
mean: 96.78975 us, lb 96.52238 us, ub 97.10344 us, ci 0.950
std dev: 1.482696 us, lb 1.264450 us, ub 1.831472 us, ci 0.950
found 2 outliers among 100 samples (2.0%)
  2 (2.0%) high mild
variance introduced by outliers: 8.461%
variance is slightly inflated by outliers

benchmarking 5000/fast_strstr()
mean: 510.0051 us, lb 509.4464 us, ub 510.6965 us, ci 0.950
std dev: 3.183432 us, lb 2.649276 us, ub 3.977548 us, ci 0.950

benchmarking 5000/byteshift_strstr()
mean: 858.7085 us, lb 858.0636 us, ub 859.4667 us, ci 0.950
std dev: 3.569251 us, lb 3.003381 us, ub 4.310548 us, ci 0.950

benchmarking 5000/naive strstr()
mean: 5.163309 ms, lb 5.156553 ms, ub 5.170378 ms, ci 0.950
std dev: 35.52820 us, lb 32.44935 us, ub 39.21530 us, ci 0.950

benchmarking 5000/Volnitsky's strstr()
mean: 822.5678 us, lb 821.8025 us, ub 823.4142 us, ci 0.950
std dev: 4.123345 us, lb 3.566370 us, ub 4.831413 us, ci 0.950

benchmarking 10000/strstr()
mean: 214.2851 us, lb 213.8281 us, ub 214.8246 us, ci 0.950
std dev: 2.538493 us, lb 2.167489 us, ub 3.211782 us, ci 0.950

benchmarking 10000/fast_strstr()
mean: 1.021968 ms, lb 1.020847 ms, ub 1.023328 ms, ci 0.950
std dev: 6.315193 us, lb 5.298805 us, ub 7.904370 us, ci 0.950

benchmarking 10000/byteshift_strstr()
mean: 1.731448 ms, lb 1.730037 ms, ub 1.733112 ms, ci 0.950
std dev: 7.825432 us, lb 6.616911 us, ub 9.776681 us, ci 0.950

benchmarking 10000/naive strstr()
mean: 10.31374 ms, lb 10.30594 ms, ub 10.32223 ms, ci 0.950
std dev: 41.75419 us, lb 36.56924 us, ub 49.84446 us, ci 0.950

benchmarking 10000/Volnitsky's strstr()
mean: 1.460449 ms, lb 1.458785 ms, ub 1.463773 ms, ci 0.950
std dev: 11.61156 us, lb 7.093593 us, ub 22.12238 us, ci 0.950

benchmarking 50000/strstr()
mean: 1.288234 ms, lb 1.286148 ms, ub 1.291983 ms, ci 0.950
std dev: 13.95382 us, lb 9.277934 us, ub 26.08445 us, ci 0.950

benchmarking 50000/fast_strstr()
mean: 5.123448 ms, lb 5.115344 ms, ub 5.151670 ms, ci 0.950
std dev: 69.36365 us, lb 21.46940 us, ub 157.5431 us, ci 0.950
found 2 outliers among 100 samples (2.0%)
  1 (1.0%) high severe
variance introduced by outliers: 6.582%
variance is slightly inflated by outliers

benchmarking 50000/byteshift_strstr()
mean: 8.675017 ms, lb 8.671019 ms, ub 8.679297 ms, ci 0.950
std dev: 21.21519 us, lb 19.18680 us, ub 24.08174 us, ci 0.950

benchmarking 50000/naive strstr()
collecting 100 samples, 1 iterations each, in estimated 5.129600 s
mean: 51.38677 ms, lb 51.37028 ms, ub 51.40464 ms, ci 0.950
std dev: 88.49298 us, lb 78.33662 us, ub 103.0797 us, ci 0.950

benchmarking 50000/Volnitsky's strstr()
mean: 12.32932 ms, lb 12.32308 ms, ub 12.33945 ms, ci 0.950
std dev: 39.88579 us, lb 27.18148 us, ub 66.22963 us, ci 0.950

benchmarking 147277/strstr()
mean: 3.728909 ms, lb 3.724334 ms, ub 3.734031 ms, ci 0.950
std dev: 24.77871 us, lb 22.02433 us, ub 28.48209 us, ci 0.950

benchmarking 147277/fast_strstr()
mean: 15.06750 ms, lb 15.05995 ms, ub 15.07723 ms, ci 0.950
std dev: 43.59185 us, lb 34.46370 us, ub 61.91236 us, ci 0.950

benchmarking 147277/byteshift_strstr()
mean: 25.58909 ms, lb 25.58190 ms, ub 25.59647 ms, ci 0.950
std dev: 37.48404 us, lb 33.32963 us, ub 42.78451 us, ci 0.950

benchmarking 147277/naive strstr()
collecting 100 samples, 1 iterations each, in estimated 15.11931 s
mean: 151.1214 ms, lb 151.1014 ms, ub 151.1464 ms, ci 0.950
std dev: 114.1523 us, lb 92.17544 us, ub 153.5330 us, ci 0.950

benchmarking 147277/Volnitsky's strstr()
collecting 100 samples, 1 iterations each, in estimated 8.521295 s
mean: 85.16237 ms, lb 85.12735 ms, ub 85.21613 ms, ci 0.950
std dev: 219.0808 us, lb 158.0000 us, ub 307.9950 us, ci 0.950
[user@evo benchmark]$ 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.