Updated benchmark with atom0s' pattern finder, my pattern finder (which has nibble support, so not really a fair comparison) and atom0s' pattern finder updated with nibble support:
https://github.com/mrexodia/findpattern-bench
Code:
FindPattern benchmark
Page size: 4096, allocating 22 pages (including 2 guard pages).
Running tests on 10 different implementations
===========
Running learn_more
Finding pattern 0 x 1000 took 1103.94 ms.
Finding pattern 1 x 1000 took 887.791 ms.
===========
Running learn_more v2
Finding pattern 0 x 1000 took 467.905 ms.
Finding pattern 1 x 1000 took 473.792 ms.
===========
Running fdsasdf
Finding pattern 0 x 1000 took 216.19 ms.
Finding pattern 1 x 1000 took 217.753 ms.
===========
Running DarthTon
Finding pattern 0 x 1000 took 296.328 ms.
Finding pattern 1 x 1000 took 293.352 ms.
===========
Running kokole
Finding pattern 0 x 1000 took 541.427 ms.
Finding pattern 1 x 1000 took 587.715 ms.
===========
Running mrexodia
Finding pattern 0 x 1000 took 1089.7 ms.
Finding pattern 1 x 1000 took 1037.04 ms.
===========
Running atom0s
Finding pattern 0 x 1000 took 2274.7 ms.
Finding pattern 1 x 1000 took 2299.61 ms.
===========
Running atom0s (mrexodia modification)
Finding pattern 0 x 1000 took 1539.4 ms.
Finding pattern 1 x 1000 took 1877.84 ms.
===========
Running mrexodia (horspool)
Finding pattern 0 x 1000 took 602.06 ms.
Finding pattern 1 x 1000 took 572.722 ms.
===========
Running dom1n1k_Patrick
Finding pattern 0 x 1000 took 793.266 ms.
Finding pattern 1 x 1000 took 765.38 ms.
Done.
And yea... my laptop has an 1.8Ghz i3 so it's terribly slow compared to Nukem