Awesome
Aho-Corasick Benchmark
This benchmark was created to better compare the performance of the available Aho-Corasick implementations in Go. The benchmark is based on https://github.com/BobuSumisu/aho-corasick-benchmark.
Running the benchmark
To run the benchmark simply run the following command:
./run.sh
Results
name patterns input len build search matches alloc
anknown 128985 6 169.11ms 0.00ms 7 0.21GiB
bobusumisu 128985 6 168.80ms 0.00ms 7 0.58GiB
cloudflare 128985 6 709.20ms 0.01ms 7 3.90GiB
iohub 128985 6 61.97ms 0.02ms 7 0.07GiB
tmikus 128985 6 81.57ms 0.00ms 2 0.01GiB
anknown 128985 19 179.74ms 0.01ms 24 0.21GiB
bobusumisu 128985 19 180.55ms 0.01ms 24 0.58GiB
cloudflare 128985 19 703.03ms 0.01ms 23 3.90GiB
iohub 128985 19 61.81ms 0.01ms 17 0.07GiB
tmikus 128985 19 81.47ms 0.01ms 7 0.01GiB
anknown 128985 41 182.01ms 0.01ms 49 0.21GiB
bobusumisu 128985 41 183.87ms 0.02ms 49 0.58GiB
cloudflare 128985 41 704.64ms 0.02ms 47 3.90GiB
iohub 128985 41 71.14ms 0.02ms 45 0.07GiB
tmikus 128985 41 78.97ms 0.01ms 11 0.01GiB
anknown 128985 73 171.91ms 0.02ms 76 0.21GiB
bobusumisu 128985 73 175.75ms 0.02ms 76 0.58GiB
cloudflare 128985 73 740.54ms 0.02ms 67 3.90GiB
iohub 128985 73 67.37ms 0.02ms 73 0.07GiB
tmikus 128985 73 84.02ms 0.01ms 22 0.01GiB
anknown 128985 146 172.23ms 0.03ms 153 0.21GiB
bobusumisu 128985 146 176.35ms 0.03ms 153 0.58GiB
cloudflare 128985 146 769.02ms 0.03ms 136 3.90GiB
iohub 128985 146 64.03ms 0.02ms 146 0.07GiB
tmikus 128985 146 80.28ms 0.01ms 43 0.01GiB
anknown 128985 279 175.82ms 0.04ms 287 0.21GiB
bobusumisu 128985 279 179.27ms 0.05ms 287 0.58GiB
cloudflare 128985 279 742.38ms 0.04ms 234 3.90GiB
iohub 128985 279 62.02ms 0.04ms 261 0.07GiB
tmikus 128985 279 77.15ms 0.01ms 78 0.01GiB
anknown 128985 534 182.78ms 0.08ms 495 0.21GiB
bobusumisu 128985 534 184.74ms 0.09ms 495 0.58GiB
cloudflare 128985 534 797.57ms 0.07ms 357 3.90GiB
iohub 128985 534 64.96ms 0.07ms 445 0.07GiB
tmikus 128985 534 79.72ms 0.02ms 137 0.01GiB
anknown 128985 1118 172.93ms 0.13ms 1066 0.21GiB
bobusumisu 128985 1118 183.38ms 0.13ms 1066 0.58GiB
cloudflare 128985 1118 727.14ms 0.10ms 665 3.90GiB
iohub 128985 1118 63.59ms 0.11ms 941 0.07GiB
tmikus 128985 1118 83.46ms 0.02ms 299 0.01GiB
anknown 128985 2233 174.15ms 0.28ms 2169 0.21GiB
bobusumisu 128985 2233 181.40ms 0.27ms 2169 0.58GiB
cloudflare 128985 2233 709.97ms 0.19ms 1225 3.90GiB
iohub 128985 2233 63.11ms 0.21ms 1949 0.07GiB
tmikus 128985 2233 83.00ms 0.04ms 617 0.01GiB
anknown 128985 4428 175.41ms 0.44ms 4301 0.21GiB
bobusumisu 128985 4428 179.99ms 0.48ms 4301 0.58GiB
cloudflare 128985 4428 751.05ms 0.36ms 2055 3.90GiB
iohub 128985 4428 63.95ms 0.40ms 3861 0.07GiB
tmikus 128985 4428 80.45ms 0.06ms 1242 0.01GiB
anknown 128985 8975 179.30ms 0.97ms 8718 0.21GiB
bobusumisu 128985 8975 178.74ms 0.83ms 8718 0.58GiB
cloudflare 128985 8975 780.95ms 0.67ms 3556 3.90GiB
iohub 128985 8975 63.44ms 0.89ms 7784 0.07GiB
tmikus 128985 8975 81.15ms 0.11ms 2518 0.01GiB
anknown 128985 17837 180.66ms 1.78ms 17214 0.21GiB
bobusumisu 128985 17837 178.35ms 1.47ms 17214 0.58GiB
cloudflare 128985 17837 828.66ms 1.57ms 6141 3.90GiB
iohub 128985 17837 65.05ms 1.88ms 15430 0.07GiB
tmikus 128985 17837 83.62ms 0.20ms 4937 0.01GiB
anknown 128985 35720 172.68ms 3.55ms 34232 0.22GiB
bobusumisu 128985 35720 168.47ms 3.21ms 34232 0.58GiB
cloudflare 128985 35720 719.86ms 2.34ms 10486 3.90GiB
iohub 128985 35720 61.04ms 3.38ms 30701 0.08GiB
tmikus 128985 35720 79.16ms 0.36ms 9877 0.01GiB
anknown 128985 71332 173.67ms 7.08ms 68256 0.22GiB
bobusumisu 128985 71332 175.75ms 6.70ms 68256 0.58GiB
cloudflare 128985 71332 827.07ms 5.35ms 17431 3.90GiB
iohub 128985 71332 61.02ms 6.79ms 61258 0.08GiB
tmikus 128985 71332 77.40ms 0.69ms 19673 0.01GiB
anknown 128985 142563 176.35ms 13.30ms 136922 0.22GiB
bobusumisu 128985 142563 178.92ms 12.84ms 136922 0.59GiB
cloudflare 128985 142563 745.33ms 8.48ms 28924 3.90GiB
iohub 128985 142563 64.71ms 12.01ms 122868 0.09GiB
tmikus 128985 142563 83.89ms 1.71ms 39564 0.01GiB
anknown 128985 285779 181.23ms 25.57ms 274116 0.23GiB
bobusumisu 128985 285779 173.83ms 26.18ms 274116 0.60GiB
cloudflare 128985 285779 828.07ms 18.68ms 46529 3.90GiB
iohub 128985 285779 68.43ms 25.65ms 246073 0.10GiB
tmikus 128985 285779 81.18ms 3.02ms 79029 0.01GiB
anknown 128985 571011 173.75ms 45.49ms 545790 0.26GiB
bobusumisu 128985 571011 176.11ms 48.80ms 545790 0.63GiB
cloudflare 128985 571011 740.43ms 27.74ms 70251 3.90GiB
iohub 128985 571011 60.63ms 48.41ms 490157 0.13GiB
tmikus 128985 571011 83.61ms 6.06ms 157663 0.01GiB