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 EXP1790084182
Date 2026-09-22 17:08:23
Text rand128 (alphabet : 128 - size : 1048576 bytes)
| 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | |
| TVSBS | 0.01 1.29 1.20 - 1.81 | 0.01 0.98 0.95 - 1.35 | 0.01 0.68 0.65 - 0.92 | 0.01 0.47 0.42 - 0.81 | 0.01 0.40 0.35 - 0.53 | 0.01 0.30 0.28 - 0.45 | 0.01 0.25 0.22 - 0.46 | 0.01 0.24 0.21 - 0.53 | 0.01 0.23 0.21 - 0.37 | 0.01 0.21 0.19 - 0.40 | 0.01 0.21 0.20 - 0.34 | 0.00 - 0.00 - 0.00 |
| SBNDM2 | 0.00 0.60 0.57 - 0.86 | 0.00 0.34 0.32 - 0.47 | 0.00 0.26 0.24 - 0.37 | 0.00 0.22 0.20 - 0.49 | 0.00 0.23 0.19 - 0.29 | 0.00 0.21 0.20 - 0.31 | 0.00 0.20 0.18 - 0.49 | 0.00 0.20 0.19 - 0.35 | 0.00 0.20 0.18 - 0.46 | 0.00 0.20 0.19 - 0.33 | 0.00 0.21 0.19 - 0.33 | 0.00 0.21 0.19 - 0.33 |
| FSBNDMQ31 | 0.00 0.82 0.78 - 1.22 | 0.00 0.40 0.38 - 0.53 | 0.00 0.29 0.27 - 0.41 | 0.00 0.23 0.21 - 0.54 | 0.00 0.24 0.20 - 0.34 | 0.00 0.22 0.20 - 0.35 | 0.00 0.21 0.18 - 0.47 | 0.00 0.20 0.18 - 0.38 | 0.00 0.21 0.19 - 0.45 | 0.00 0.21 0.19 - 0.37 | 0.00 0.22 0.20 - 0.34 | 0.00 0.22 0.20 - 0.30 |
| FSBNDMQ32 | 0.67 1.17 0.74 - 1.94 | 0.01 0.39 0.34 - 0.53 | 0.01 0.34 0.30 - 0.47 | 0.01 0.29 0.26 - 0.67 | 0.01 0.31 0.26 - 0.40 | 0.01 0.27 0.25 - 0.41 | 0.01 0.25 0.22 - 0.54 | 0.01 0.23 0.20 - 0.60 | 0.01 0.23 0.20 - 0.48 | 0.01 0.23 0.20 - 0.49 | 0.02 0.24 0.23 - 0.32 | 0.03 0.26 0.24 - 0.38 |
| FSBNDMQ41 | 0.00 0.81 0.78 - 1.16 | 0.00 0.57 0.54 - 0.87 | 0.00 0.34 0.30 - 0.47 | 0.00 0.25 0.24 - 0.35 | 0.00 0.23 0.20 - 0.44 | 0.00 0.22 0.21 - 0.34 | 0.00 0.22 0.19 - 0.48 | 0.00 0.21 0.19 - 0.50 | 0.00 0.21 0.19 - 0.49 | 0.00 0.21 0.20 - 0.40 | 0.00 0.22 0.21 - 0.33 | 0.00 0.22 0.21 - 0.34 |
| FSBNDMQ42 | 0.67 1.17 0.75 - 1.88 | 0.01 0.42 0.36 - 0.59 | 0.01 0.32 0.28 - 0.64 | 0.01 0.29 0.27 - 0.38 | 0.01 0.27 0.24 - 0.54 | 0.01 0.27 0.25 - 0.42 | 0.01 0.25 0.22 - 0.53 | 0.01 0.23 0.20 - 0.41 | 0.01 0.23 0.20 - 0.49 | 0.01 0.23 0.21 - 0.42 | 0.02 0.24 0.23 - 0.40 | 0.03 0.25 0.24 - 0.39 |
| LWFR2 | 0.01 0.61 0.56 - 0.94 | 0.01 0.38 0.34 - 0.54 | 0.00 0.27 0.24 - 0.81 | 0.01 0.24 0.22 - 0.35 | 0.01 0.22 0.19 - 0.52 | 0.01 0.22 0.20 - 0.35 | 0.01 0.21 0.18 - 0.46 | 0.01 0.21 0.18 - 0.46 | 0.01 0.20 0.18 - 0.47 | 0.01 0.20 0.17 - 0.42 | 0.02 0.22 0.20 - 0.28 | 0.04 0.23 0.22 - 0.33 |
| QF24 | 0.00 0.82 0.78 - 1.29 | 0.00 0.43 0.38 - 0.57 | 0.00 0.29 0.25 - 0.71 | 0.00 0.26 0.24 - 0.38 | 0.00 0.23 0.20 - 0.59 | 0.00 0.23 0.22 - 0.35 | 0.00 0.22 0.20 - 0.43 | 0.00 0.21 0.19 - 0.55 | 0.00 0.21 0.18 - 0.46 | 0.00 0.20 0.19 - 0.36 | 0.00 1.27 0.21 - 221.64 | 0.00 - 435.04 - 435.04 |
| QF26 | 0.00 0.82 0.79 - 0.99 | 0.00 0.37 0.33 - 0.52 | 0.00 0.25 0.23 - 0.49 | 0.00 0.23 0.21 - 0.34 | 0.00 0.20 0.18 - 0.46 | 0.00 0.20 0.18 - 0.36 | 0.00 0.19 0.17 - 0.42 | 0.00 0.19 0.17 - 0.49 | 0.00 0.19 0.17 - 0.33 | 0.00 0.19 0.17 - 0.47 | 0.01 0.22 0.18 - 0.29 | 0.01 0.20 0.18 - 0.29 |
| QF28 | 0.00 0.81 0.77 - 1.09 | 0.00 0.36 0.33 - 0.76 | 0.00 0.27 0.24 - 0.55 | 0.01 0.23 0.22 - 0.35 | 0.00 0.22 0.19 - 0.51 | 0.00 0.21 0.18 - 0.49 | 0.00 0.20 0.17 - 0.42 | 0.01 0.20 0.17 - 0.49 | 0.01 0.19 0.17 - 0.34 | 0.01 0.19 0.17 - 0.39 | 0.01 0.22 0.19 - 0.32 | 0.01 0.20 0.19 - 0.30 |
| QF33 | 0.00 0.82 0.78 - 1.07 | 0.00 0.44 0.40 - 0.81 | 0.00 0.28 0.26 - 0.56 | 0.00 0.25 0.23 - 0.35 | 0.00 0.22 0.20 - 0.38 | 0.00 0.21 0.19 - 0.45 | 0.00 0.21 0.18 - 0.45 | 0.00 0.21 0.18 - 0.48 | 0.00 0.20 0.17 - 0.49 | 0.00 0.19 0.18 - 0.44 | 0.00 0.22 0.19 - 0.32 | 0.01 0.21 0.19 - 0.30 |
| QF34 | 0.00 0.82 0.77 - 1.07 | 0.00 0.50 0.47 - 0.88 | 0.00 0.30 0.27 - 0.55 | 0.00 0.24 0.23 - 0.36 | 0.00 0.21 0.19 - 0.49 | 0.00 0.20 0.18 - 0.50 | 0.00 0.20 0.17 - 0.46 | 0.00 0.19 0.17 - 0.41 | 0.00 0.19 0.17 - 0.40 | 0.00 0.19 0.18 - 0.33 | 0.01 0.22 0.18 - 0.29 | 0.01 0.20 0.18 - 0.26 |
| QF43 | 0.00 0.81 0.78 - 1.05 | 0.00 0.82 0.77 - 1.08 | 0.00 0.32 0.29 - 0.58 | 0.00 0.25 0.23 - 0.36 | 0.00 0.21 0.19 - 0.49 | 0.00 0.20 0.18 - 0.36 | 0.00 0.20 0.17 - 0.48 | 0.00 0.19 0.17 - 0.47 | 0.00 0.19 0.17 - 0.41 | 0.00 0.20 0.18 - 0.30 | 0.00 0.21 0.18 - 0.30 | 0.01 0.20 0.18 - 0.28 |
| QF62 | 0.00 0.82 0.78 - 1.06 | 0.00 0.82 0.77 - 1.28 | 0.00 0.43 0.39 - 0.74 | 0.00 0.27 0.26 - 0.43 | 0.00 0.22 0.20 - 0.53 | 0.00 0.21 0.19 - 0.39 | 0.00 0.20 0.17 - 0.46 | 0.00 0.19 0.17 - 0.49 | 0.00 0.20 0.17 - 0.46 | 0.00 0.20 0.18 - 0.31 | 0.01 0.22 0.18 - 0.32 | 0.01 0.20 0.18 - 0.28 |
| TWFR2 | 0.00 0.59 0.54 - 0.94 | 0.00 0.34 0.31 - 0.55 | 0.01 0.27 0.23 - 0.73 | 0.01 0.24 0.22 - 0.37 | 0.01 0.22 0.19 - 0.59 | 0.01 0.21 0.18 - 0.50 | 0.01 0.21 0.18 - 0.50 | 0.01 0.20 0.18 - 0.38 | 0.01 0.20 0.18 - 0.46 | 0.01 0.21 0.19 - 0.29 | 0.02 0.23 0.20 - 0.31 | 0.03 0.23 0.21 - 0.32 |
| TWFRQ2 | 0.00 0.61 0.56 - 1.00 | 0.00 0.35 0.32 - 0.67 | 0.00 0.27 0.23 - 0.60 | 0.01 0.24 0.22 - 0.35 | 0.00 0.22 0.20 - 0.51 | 0.00 0.21 0.18 - 0.42 | 0.01 0.21 0.19 - 0.36 | 0.01 0.20 0.19 - 0.37 | 0.01 0.20 0.18 - 0.42 | 0.01 0.24 0.22 - 0.38 | 0.02 0.27 0.23 - 0.37 | 0.03 0.27 0.24 - 0.40 |
| TWFRQ3 | 0.00 0.82 0.79 - 1.10 | 0.00 0.74 0.68 - 1.68 | 0.00 0.34 0.31 - 0.50 | 0.01 0.25 0.23 - 0.32 | 0.00 0.22 0.19 - 0.53 | 0.01 0.21 0.19 - 0.37 | 0.01 0.20 0.18 - 0.36 | 0.01 0.20 0.17 - 0.44 | 0.01 0.19 0.17 - 0.32 | 0.01 0.20 0.19 - 0.29 | 0.01 0.23 0.19 - 0.31 | 0.01 0.21 0.18 - 1.91 |
| LIBC | 0.00 0.61 0.57 - 0.87 | 0.00 0.38 0.35 - 0.62 | 0.00 0.30 0.27 - 0.71 | 0.00 0.27 0.24 - 0.39 | 0.00 0.25 0.22 - 0.50 | 0.00 0.24 0.20 - 0.57 | 0.00 0.23 0.21 - 0.38 | 0.00 0.22 0.19 - 0.49 | 0.00 0.23 0.19 - 0.48 | 0.00 0.23 0.21 - 0.33 | 0.00 0.25 0.21 - 0.36 | 0.00 0.23 0.20 - 0.66 |
| MUSL | 0.00 0.59 0.56 - 0.91 | 0.00 0.61 0.56 - 1.04 | 0.00 0.42 0.37 - 0.91 | 0.00 0.37 0.34 - 0.55 | 0.00 0.33 0.30 - 0.87 | 0.00 0.31 0.27 - 0.72 | 0.00 0.27 0.25 - 0.43 | 0.00 0.25 0.23 - 0.57 | 0.00 0.23 0.21 - 0.49 | 0.00 0.24 0.22 - 0.33 | 0.00 0.25 0.22 - 0.39 | 0.00 0.24 0.22 - 0.46 |
| LIBC1 | 0.00 0.60 0.56 - 0.88 | 0.00 0.38 0.36 - 0.48 | 0.00 0.29 0.26 - 0.47 | 0.00 0.26 0.24 - 0.34 | 0.00 0.24 0.21 - 0.71 | 0.00 0.22 0.20 - 0.41 | 0.00 0.22 0.19 - 0.52 | 0.00 0.22 0.20 - 0.47 | 0.00 0.22 0.19 - 0.45 | 0.00 0.23 0.21 - 0.35 | 0.00 0.23 0.22 - 0.33 | 0.00 0.23 0.20 - 0.40 |
| SIMDKR | 0.00 0.20 0.18 - 0.40 | 0.00 0.21 0.19 - 0.33 | 0.00 0.21 0.19 - 0.45 | 0.00 0.24 0.20 - 0.31 | 0.00 0.21 0.19 - 0.32 | 0.00 0.20 0.18 - 0.37 | 0.00 0.20 0.18 - 0.48 | 0.00 0.20 0.18 - 0.47 | 0.00 0.20 0.19 - 0.33 | 0.00 0.22 0.19 - 0.32 | 0.00 0.22 0.20 - 0.32 | 0.00 0.21 0.18 - 0.45 |
| EPSM | 0.00 0.24 0.22 - 0.39 | 0.00 0.27 0.25 - 0.38 | 0.00 0.27 0.25 - 0.45 | 0.00 0.29 0.24 - 0.37 | 0.00 0.23 0.21 - 0.34 | 0.00 0.21 0.18 - 0.51 | 0.01 0.20 0.18 - 0.39 | 0.01 0.20 0.18 - 0.46 | 0.01 0.21 0.18 - 0.48 | 0.02 0.23 0.21 - 0.38 | 0.05 0.27 0.24 - 0.39 | 0.10 0.33 0.29 - 0.69 |
| LHC2 | 0.00 0.74 0.70 - 1.13 | 0.00 0.38 0.36 - 0.50 | 0.00 0.27 0.25 - 0.42 | 0.00 0.26 0.22 - 0.34 | 0.00 0.22 0.20 - 0.31 | 0.00 0.20 0.18 - 0.47 | 0.00 0.20 0.18 - 0.44 | 0.00 0.19 0.17 - 0.50 | 0.00 0.19 0.18 - 0.45 | 0.01 0.20 0.18 - 0.29 | 0.01 0.20 0.19 - 0.31 | 0.01 0.20 0.17 - 0.61 |
| SHC2 | 0.00 0.59 0.55 - 0.93 | 0.00 0.34 0.32 - 0.52 | 0.00 0.25 0.22 - 0.53 | 0.00 0.25 0.21 - 0.39 | 0.00 0.22 0.20 - 0.33 | 0.00 0.20 0.18 - 0.46 | 0.00 0.20 0.17 - 0.44 | 0.00 0.19 0.17 - 0.41 | 0.01 0.19 0.17 - 0.50 | 0.01 0.20 0.18 - 0.31 | 0.01 0.20 0.18 - 0.26 | 0.01 0.19 0.17 - 0.45 |
| FHC2 | 0.00 0.66 0.62 - 1.24 | 0.00 0.36 0.34 - 0.51 | 0.00 0.26 0.23 - 0.48 | 0.01 0.25 0.22 - 0.34 | 0.00 0.22 0.20 - 0.32 | 0.00 0.20 0.18 - 0.45 | 0.00 0.20 0.18 - 0.41 | 0.00 0.19 0.18 - 0.32 | 0.00 0.19 0.17 - 0.40 | 0.01 0.20 0.18 - 0.30 | 0.01 0.20 0.18 - 0.32 | 0.01 0.19 0.17 - 0.41 |
Table 1. Running times of experimental tests n.EXP1790084182. Each time value is the mean of 500 runs. Running times are in milliseconds.
Average Running Times
TVSBS
SBNDM2
FSBNDMQ31
FSBNDMQ32
FSBNDMQ41
FSBNDMQ42
LWFR2
QF24
QF26
QF28
QF33
QF34
QF43
QF62
TWFR2
TWFRQ2
TWFRQ3
LIBC
MUSL
LIBC1
SIMDKR
EPSM
LHC2
SHC2
FHC2
Chart 1. Plot of the running times of experimental tests n.EXP1790084182. 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.
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.
FSBNDMQ31 - fsbndm with q-grams and lookahead
Detailed plot of the running times relative to the FSBNDMQ31 algorithm. The plot reports the mean and the distribution of the running times.
FSBNDMQ32 - fsbndm with q-grams and lookahead
Detailed plot of the running times relative to the FSBNDMQ32 algorithm. The plot reports the mean and the distribution of the running times.
FSBNDMQ41 - fsbndm with q-grams and lookahead
Detailed plot of the running times relative to the FSBNDMQ41 algorithm. The plot reports the mean and the distribution of the running times.
FSBNDMQ42 - fsbndm with q-grams and lookahead
Detailed plot of the running times relative to the FSBNDMQ42 algorithm. The plot reports the mean and the distribution of the running times.
LWFR2 - Weak Factor Recognizer, Linear Version
Detailed plot of the running times relative to the LWFR2 algorithm. The plot reports the mean and the distribution of the running times.
QF24 - Q-gram Filtering q=2 s=4
Detailed plot of the running times relative to the QF24 algorithm. The plot reports the mean and the distribution of the running times.
QF26 - Q-gram Filtering q=2 s=6
Detailed plot of the running times relative to the QF26 algorithm. The plot reports the mean and the distribution of the running times.
QF28 - Q-gram Filtering q=2 s=8
Detailed plot of the running times relative to the QF28 algorithm. The plot reports the mean and the distribution of the running times.
QF33 - Q-gram Filtering q=3 s=3
Detailed plot of the running times relative to the QF33 algorithm. The plot reports the mean and the distribution of the running times.
QF34 - Q-gram Filtering q=3 s=4
Detailed plot of the running times relative to the QF34 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.
QF62 - Q-gram Filtering q=6 s=2
Detailed plot of the running times relative to the QF62 algorithm. The plot reports the mean and the distribution of the running times.
TWFR2 - Tuned Weak Factor Recognizer
Detailed plot of the running times relative to the TWFR2 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.
TWFRQ3 - Tuned Weak Factor Recognizer with q-grams
Detailed plot of the running times relative to the TWFRQ3 algorithm. The plot reports the mean and the distribution of the running times.
LIBC - strstr Two-way string-matching
Detailed plot of the running times relative to the LIBC algorithm. The plot reports the mean and the distribution of the running times.
MUSL - musl strstr Two-way string-matching
Detailed plot of the running times relative to the MUSL algorithm. The plot reports the mean and the distribution of the running times.
LIBC1 - memmem Two-way string-matching
Detailed plot of the running times relative to the LIBC1 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.
LHC2 - Linear HashChain q=2
Detailed plot of the running times relative to the LHC2 algorithm. The plot reports the mean and the distribution of the running times.
SHC2 - Sentinel HashChain q=2
Detailed plot of the running times relative to the SHC2 algorithm. The plot reports the mean and the distribution of the running times.
FHC2 - Fast HashChain q=2
Detailed plot of the running times relative to the FHC2 algorithm. The plot reports the mean and the distribution of the running times.