SMARTString Matching Algorithms Research Tool
by Simone Faro - www.dmi.unict.it/~faro/smart/ - email: faro@dmi.unict.it
Report of Experimental Results
Test Code EXP1712145140
Date 2024:04:03 13:52:20
Text rand2 (alphabet : 2 - size : 1048576 bytes)
2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | |
TVSBS | 7.76 | 8.21 | 6.54 | 9.19 | 7.72 | 9.16 | 6.86 | 8.18 | 7.42 | 8.20 | 8.68 | 8.29 |
FJS | 8.11 | 8.54 | 8.62 | 10.46 | 10.97 | 11.90 | 11.56 | 11.20 | 11.26 | 10.13 | 12.82 | 11.01 |
HASH8 | 1.92 | 2.05 | 11.89 | 2.70 | 1.45 | 1.03 | 0.82 | 0.89 | 1.16 | 1.08 | 1.35 | 1.00 |
SO | 2.08 | 2.04 | 1.69 | 1.84 | 2.14 | 1.82 | 1.56 | 1.74 | 1.51 | 1.66 | 2.04 | 1.69 |
SBNDM | 6.41 | 6.75 | 3.78 | 2.28 | 1.84 | 1.76 | 1.65 | 1.98 | 2.13 | 1.64 | 1.79 | 1.68 |
LBNDM | 10.12 | 8.34 | 4.86 | 2.59 | 2.52 | 2.05 | 9.01 | 26.23 | 16.99 | 12.88 | 15.35 | 12.66 |
SBNDM2 | 6.27 | 7.15 | 3.74 | 2.20 | 1.71 | 1.60 | 1.57 | 1.43 | 1.43 | 1.34 | 1.86 | 1.54 |
SBNDM-BMH | 6.62 | 6.74 | 3.96 | 2.90 | 1.94 | 1.33 | 1.85 | 1.96 | 1.72 | 1.63 | 1.60 | 1.80 |
FNDM | 9.23 | 6.91 | 3.77 | 2.58 | 2.15 | 2.00 | 2.00 | 2.11 | 1.96 | 2.08 | 2.33 | 2.23 |
FSBNDM | 7.97 | 5.76 | 3.54 | 2.31 | 1.85 | 1.70 | 1.48 | 1.54 | 1.73 | 1.76 | 1.85 | 1.41 |
SBNDMQ8 | 2.42 | 1.90 | 4.75 | 1.48 | 0.99 | 0.91 | 1.23 | 1.24 | 1.07 | 1.07 | 1.13 | 1.09 |
UFNDMQ2 | 7.05 | 5.90 | 4.00 | 3.51 | 2.26 | 2.35 | 2.27 | 1.92 | 2.21 | 2.11 | 2.23 | 2.44 |
UFNDMQ8 | 2.47 | 2.29 | 1.25 | 1.23 | 1.05 | 1.24 | 1.31 | 1.18 | 0.96 | 1.03 | 1.11 | 1.21 |
KBNDM | 10.20 | 7.00 | 4.02 | 3.38 | 1.97 | 1.76 | 1.63 | 1.50 | 1.68 | 1.66 | 1.69 | 1.85 |
FS-W2 | 12.08 | 8.22 | 5.33 | 5.23 | 3.74 | 3.04 | 2.95 | 2.23 | 1.90 | 1.69 | 1.83 | 1.94 |
LWFR5 | 2.37 | 2.26 | 3.37 | 2.26 | 1.66 | 1.25 | 0.91 | 0.91 | 1.26 | 33.35 | - | - |
QF43 | 2.42 | 1.93 | 3.89 | 2.09 | 1.66 | 1.66 | 8.88 | 31.37 | 53.72 | 98.03 | - | - |
SBNDM-W2 | 7.75 | 7.16 | 5.50 | 3.15 | 1.69 | 1.82 | 1.49 | 1.88 | 1.85 | 2.18 | 1.53 | 1.66 |
WFR2 | 8.70 | 6.24 | 3.64 | 2.33 | 1.61 | 1.36 | 0.99 | 1.12 | 1.04 | - | - | - |
TWFRQ2 | 8.18 | 5.90 | 3.20 | 2.20 | 1.84 | 1.12 | 0.95 | 1.07 | 1.06 | - | - | - |
TWFRQ4 | 2.86 | 3.44 | 3.08 | 1.90 | 1.25 | 1.02 | 1.06 | 0.89 | 1.12 | - | - | - |
WOM | 10.15 | 6.98 | 5.96 | 7.14 | 5.99 | 5.21 | 4.71 | 4.70 | 4.59 | 3.92 | 3.60 | 3.87 |
LIBC1 | 7.93 | 8.66 | 4.31 | 4.25 | 4.24 | 3.88 | 3.80 | 4.34 | 10.46 | 9.89 | 9.38 | 10.36 |
MUSL1 | 0.01 | 0.01 | 0.01 | 0.56 | 4.55 | 4.50 | 4.76 | 5.58 | 5.59 | 4.71 | 5.17 | 5.76 |
SIMDKR | 1.83 | 3.35 | 2.25 | 2.84 | 2.85 | 2.57 | 2.14 | 2.41 | 2.94 | 2.60 | 2.82 | 2.84 |
EPSM | 0.84 | 0.76 | 2.49 | 1.10 | 0.94 | 0.89 | 0.78 | 1.09 | 1.21 | 0.99 | 1.19 | 1.54 |
Table 1. Running times of experimental tests n.EXP1712145140. Each time value is the mean of 500 runs. Running times are in milliseconds.
Average Running Times
TVSBS
FJS
HASH8
SO
SBNDM
LBNDM
SBNDM2
SBNDM-BMH
FNDM
FSBNDM
SBNDMQ8
UFNDMQ2
UFNDMQ8
KBNDM
FS-W2
LWFR5
QF43
SBNDM-W2
WFR2
TWFRQ2
TWFRQ4
WOM
LIBC1
MUSL1
SIMDKR
EPSM
Chart 1. Plot of the running times of experimental tests n.EXP1712145140. The x axes reports the length of the pattern (in a log scale) while the y axes reports the running time in milliseconds.
Worst Running Times
Best Running Times
TVSBS - Thathoo-Virmani-Sai-Balakrishnan-Sekar
Detailed plot of the running times relative to the TVSBS algorithm. The plot reports the mean and the distribution of the running times.
FJS - Franek-Jennings-Smyth
Detailed plot of the running times relative to the FJS algorithm. The plot reports the mean and the distribution of the running times.
HASH8 - Wu-Manber for Single Pattern Matching (q=8)
Detailed plot of the running times relative to the HASH8 algorithm. The plot reports the mean and the distribution of the running times.
SO - Shift-Or
Detailed plot of the running times relative to the SO algorithm. The plot reports the mean and the distribution of the running times.
SBNDM - Simplified BNDM
Detailed plot of the running times relative to the SBNDM algorithm. The plot reports the mean and the distribution of the running times.
LBNDM - long patterns bndm
Detailed plot of the running times relative to the LBNDM algorithm. The plot reports the mean and the distribution of the running times.
SBNDM2 - simplified bndm with loop-unrolling
Detailed plot of the running times relative to the SBNDM2 algorithm. The plot reports the mean and the distribution of the running times.
SBNDM-BMH - sbndm with horspool shift
Detailed plot of the running times relative to the SBNDM-BMH algorithm. The plot reports the mean and the distribution of the running times.
FNDM - forward nondeterministic dawg matching
Detailed plot of the running times relative to the FNDM algorithm. The plot reports the mean and the distribution of the running times.
FSBNDM - forward sbndm
Detailed plot of the running times relative to the FSBNDM algorithm. The plot reports the mean and the distribution of the running times.
SBNDMQ8 - simplified bndm with q-grams
Detailed plot of the running times relative to the SBNDMQ8 algorithm. The plot reports the mean and the distribution of the running times.
UFNDMQ2 - Upper bits fndm with q-grams
Detailed plot of the running times relative to the UFNDMQ2 algorithm. The plot reports the mean and the distribution of the running times.
UFNDMQ8 - Upper bits fndm with q-grams
Detailed plot of the running times relative to the UFNDMQ8 algorithm. The plot reports the mean and the distribution of the running times.
KBNDM - Factorized BNDM
Detailed plot of the running times relative to the KBNDM algorithm. The plot reports the mean and the distribution of the running times.
FS-W2 - Multiple Sliding Windows
Detailed plot of the running times relative to the FS-W2 algorithm. The plot reports the mean and the distribution of the running times.
LWFR5 - Weak Factor Recognizer, Linear Version
Detailed plot of the running times relative to the LWFR5 algorithm. The plot reports the mean and the distribution of the running times.
QF43 - Q-gram Filtering q=4 s=3
Detailed plot of the running times relative to the QF43 algorithm. The plot reports the mean and the distribution of the running times.
SBNDM-W2 - SBNDM with lookahead
Detailed plot of the running times relative to the SBNDM-W2 algorithm. The plot reports the mean and the distribution of the running times.
WFR2 - Weak Factor Recognizer (m>=2)
Detailed plot of the running times relative to the WFR2 algorithm. The plot reports the mean and the distribution of the running times.
TWFRQ2 - Tuned Weak Factor Recognizer with q-grams
Detailed plot of the running times relative to the TWFRQ2 algorithm. The plot reports the mean and the distribution of the running times.
TWFRQ4 - Tuned Weak Factor Recognizer with q-grams
Detailed plot of the running times relative to the TWFRQ4 algorithm. The plot reports the mean and the distribution of the running times.
WOM - Worst Occurrence Matcher
Detailed plot of the running times relative to the WOM algorithm. The plot reports the mean and the distribution of the running times.
LIBC1 - memmem
Detailed plot of the running times relative to the LIBC1 algorithm. The plot reports the mean and the distribution of the running times.
MUSL1 - musl memmem
Detailed plot of the running times relative to the MUSL1 algorithm. The plot reports the mean and the distribution of the running times.
SIMDKR - SIMD generic Rabin-Karp variants
Detailed plot of the running times relative to the SIMDKR algorithm. The plot reports the mean and the distribution of the running times.
EPSM - SSE4 Exact Packed String Matching
Detailed plot of the running times relative to the EPSM algorithm. The plot reports the mean and the distribution of the running times.