Table Of Contents#

Run Metadata#

Field Value
Run completed 2026-07-26 13:22:52 UTC
Run duration 14m 51s
Benchmark project version 0.1.0-SNAPSHOT
Benchmark source revision e0e5f66
Benchmark Java release 25
JMH version 1.37
JDK OpenJDK 64-Bit Server VM 25 25+36-b176.4
ModDevGradle 2.0.141
NeoForm 26.2-2
Hardware MacBook Pro, MacBookPro18,3, 10 (8 Performance and 2 Efficiency), 32 GB
OS macOS 26.5.2 (25F84), x86_64
Adaptive run summary 95% CI; target <= 10% of mean; 69/72 adaptive cases met target; 6 non-adaptive cases run once; 3 reached max budget

Implementations Tested#

Benchmark ID Name Authors Version Source
generalized-suffix-tree Suffix tree Abahgat, mezz 1.3.0 pkg:maven/net.mezzdev:suffixtree@1.3.0
abahgat-suffix-tree Suffix tree Abahgat 2.0.0 pkg:maven/com.abahgat:suffixtree@2.0.0
baked-substring-index Baked substring index mezz 0.1.0 pkg:maven/net.mezzdev:baked-substring-index@0.1.0
baked-suffix-array-index Baked suffix array index mezz 0.1.0 pkg:maven/net.mezzdev:baked-suffix-array-index@0.1.0
lucene Lucene wildcard index Apache Lucene 10.5.0 pkg:maven/org.apache.lucene:lucene-core@10.5.0
minecraft-suffix-array Suffix array Minecraft 1.12-pre6 to 26.2 Minecraft 1.12-pre6 to 26.2 SuffixArray via NeoForm 26.2-2

How To Read This#

  • Lower values are better for every chart.
  • Typed-search time plots one line per implementation as the query gets longer.
  • Typed line charts use a log y-axis.
  • Build and allocation charts can switch between total and per-item views.
  • CI +/- is the half-width of the two-sided 95% confidence interval around the mean, not a standard deviation.
  • Displayed values are rounded for readability so minor decimal noise is omitted.

Adaptive Runner Caveats#

  • Adaptive runs start with shorter JMH passes, then rerun only noisy benchmark cases with more measurement work until they meet the configured CI target or reach the maximum budget.
  • Because cases can receive different fork and iteration counts, compare the score and confidence interval together. Cases that reached the maximum budget are still useful signals, but less settled than cases that met the target.
  • Retained-memory benchmarks are approximate and intentionally non-adaptive; they focus on the retained bytes after building an index, not on benchmark timing.

Build Time Rankings#

Metric: total index build time (ms/build) or normalized build time per benchmark item; lower is better.

Measures how long it takes to prepare the search index after a large item list is available. Lower values mean a recipe viewer can become searchable sooner after game startup, resource reloads, or data reloads.

Build Time: All Defaults#

Prepares the full default search index: item names, tooltip text, mod names, and tags. This is the closest benchmark to the total search setup cost players feel after loading or reloading a large modpack.

100,000 items

Show data table
Rank Implementation/version Value CI +/- Vs best
1 Lucene wildcard index - Apache Lucene (10.5.0) 296 ms per build 17 ms per build 1.00x
2 Baked substring index - mezz (0.1.0) 386 ms per build 20 ms per build 1.31x
3 Suffix tree - Abahgat, mezz (1.3.0) 689 ms per build 50 ms per build 2.33x
4 Suffix tree - Abahgat (2.0.0) 973 ms per build 28 ms per build 3.29x
5 Baked suffix array index - mezz (0.1.0) 2340 ms per build 120 ms per build 7.92x
6 Suffix array - Minecraft (1.12-pre6 to 26.2) 3877 ms per build 300 ms per build 13.12x
Rank Implementation/version Value CI +/- Vs best
1 Lucene wildcard index - Apache Lucene (10.5.0) 2.96 µs per item 0.17 µs per item 1.00x
2 Baked substring index - mezz (0.1.0) 3.86 µs per item 0.20 µs per item 1.31x
3 Suffix tree - Abahgat, mezz (1.3.0) 6.9 µs per item 0.5 µs per item 2.33x
4 Suffix tree - Abahgat (2.0.0) 9.73 µs per item 0.28 µs per item 3.29x
5 Baked suffix array index - mezz (0.1.0) 23.4 µs per item 1.2 µs per item 7.92x
6 Suffix array - Minecraft (1.12-pre6 to 26.2) 39 µs per item 3 µs per item 13.12x

Typed Search Time#

Metric: time to process one search-box update (ms/query); lower is better.

Measures the cost of one search-box update as a player types more characters. Lower values mean less input lag while filtering a very large item list.

Typed Search Time: Default Corpus Prefix#

Simulates a player typing in the search box after the index is ready. Each step searches prefixes from many item-like words, so lower values mean the filtered item list updates with less typing lag.

100,000 items

Show data table
Characters Query Rank Implementation/version Mean CI +/- Vs best
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 1 Baked substring index - mezz (0.1.0) 0.70 ms per query 0.03 ms per query 1.00x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 2 Lucene wildcard index - Apache Lucene (10.5.0) 1.30 ms per query 0.09 ms per query 1.86x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 3 Suffix tree - Abahgat, mezz (1.3.0) 5.4 ms per query 0.4 ms per query 7.69x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 27.3 ms per query 2.8 ms per query 39.04x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 5 Baked suffix array index - mezz (0.1.0) 34.0 ms per query 2.4 ms per query 48.63x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 6 Suffix tree - Abahgat (2.0.0) 55 ms per query 6 ms per query 78.37x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 1 Baked substring index - mezz (0.1.0) 0.087 ms per query 0.005 ms per query 1.00x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 2 Lucene wildcard index - Apache Lucene (10.5.0) 0.288 ms per query 0.011 ms per query 3.31x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 3 Suffix tree - Abahgat, mezz (1.3.0) 0.69 ms per query 0.03 ms per query 7.91x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 2.98 ms per query 0.19 ms per query 34.33x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 5 Baked suffix array index - mezz (0.1.0) 3.14 ms per query 0.18 ms per query 36.09x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 6 Suffix tree - Abahgat (2.0.0) 5.3 ms per query 0.5 ms per query 60.60x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 1 Baked substring index - mezz (0.1.0) 0.018 ms per query 0.0008 ms per query 1.00x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 2 Lucene wildcard index - Apache Lucene (10.5.0) 0.148 ms per query 0.005 ms per query 8.37x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 3 Suffix tree - Abahgat, mezz (1.3.0) 0.257 ms per query 0.020 ms per query 14.56x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 4 Baked suffix array index - mezz (0.1.0) 0.830 ms per query 0.013 ms per query 47.10x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 1.00 ms per query 0.04 ms per query 56.53x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 6 Suffix tree - Abahgat (2.0.0) 2.25 ms per query 0.12 ms per query 127.67x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 1 Baked substring index - mezz (0.1.0) 0.093 ms per query 0.004 ms per query 1.00x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 2 Lucene wildcard index - Apache Lucene (10.5.0) 0.151 ms per query 0.009 ms per query 1.63x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 3 Suffix tree - Abahgat, mezz (1.3.0) 0.162 ms per query 0.009 ms per query 1.74x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 4 Baked suffix array index - mezz (0.1.0) 0.359 ms per query 0.014 ms per query 3.87x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.559 ms per query 0.021 ms per query 6.03x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 6 Suffix tree - Abahgat (2.0.0) 1.67 ms per query 0.14 ms per query 18.02x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 1 Baked substring index - mezz (0.1.0) 0.102 ms per query 0.010 ms per query 1.00x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.156 ms per query 0.009 ms per query 1.54x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 0.202 ms per query 0.010 ms per query 1.99x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 4 Baked suffix array index - mezz (0.1.0) 0.283 ms per query 0.014 ms per query 2.79x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.49 ms per query 0.03 ms per query 4.82x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 6 Suffix tree - Abahgat (2.0.0) 1.46 ms per query 0.13 ms per query 14.38x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 1 Baked substring index - mezz (0.1.0) 0.116 ms per query 0.011 ms per query 1.00x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.126 ms per query 0.012 ms per query 1.09x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 0.220 ms per query 0.005 ms per query 1.90x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 4 Baked suffix array index - mezz (0.1.0) 0.272 ms per query 0.020 ms per query 2.35x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.451 ms per query 0.024 ms per query 3.90x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 6 Suffix tree - Abahgat (2.0.0) 1.52 ms per query 0.07 ms per query 13.13x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 1 Suffix tree - Abahgat, mezz (1.3.0) 0.065 ms per query 0.004 ms per query 1.00x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 2 Baked substring index - mezz (0.1.0) 0.105 ms per query 0.0024 ms per query 1.62x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 3 Baked suffix array index - mezz (0.1.0) 0.218 ms per query 0.017 ms per query 3.37x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 0.246 ms per query 0.009 ms per query 3.80x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.309 ms per query 0.013 ms per query 4.78x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 6 Suffix tree - Abahgat (2.0.0) 1.03 ms per query 0.07 ms per query 15.86x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 1 Suffix tree - Abahgat, mezz (1.3.0) 0.042 ms per query 0.0013 ms per query 1.00x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 2 Baked substring index - mezz (0.1.0) 0.084 ms per query 0.005 ms per query 2.02x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 3 Baked suffix array index - mezz (0.1.0) 0.099 ms per query 0.004 ms per query 2.37x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.173 ms per query 0.008 ms per query 4.14x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 5 Lucene wildcard index - Apache Lucene (10.5.0) 0.316 ms per query 0.018 ms per query 7.56x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 6 Suffix tree - Abahgat (2.0.0) 0.487 ms per query 0.011 ms per query 11.68x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 1 Suffix tree - Abahgat, mezz (1.3.0) 0.035 ms per query 0.0006 ms per query 1.00x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 2 Baked substring index - mezz (0.1.0) 0.088 ms per query 0.005 ms per query 2.54x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 3 Baked suffix array index - mezz (0.1.0) 0.092 ms per query 0.007 ms per query 2.65x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.165 ms per query 0.007 ms per query 4.77x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 5 Lucene wildcard index - Apache Lucene (10.5.0) 0.353 ms per query 0.018 ms per query 10.20x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 6 Suffix tree - Abahgat (2.0.0) 0.56 ms per query 0.04 ms per query 16.09x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 1 Suffix tree - Abahgat, mezz (1.3.0) 0.016 ms per query 0.0016 ms per query 1.00x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 2 Baked suffix array index - mezz (0.1.0) 0.031 ms per query 0.0008 ms per query 1.92x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 3 Baked substring index - mezz (0.1.0) 0.067 ms per query 0.004 ms per query 4.18x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.084 ms per query 0.007 ms per query 5.26x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 5 Suffix tree - Abahgat (2.0.0) 0.200 ms per query 0.011 ms per query 12.48x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 6 Lucene wildcard index - Apache Lucene (10.5.0) 0.407 ms per query 0.021 ms per query 25.41x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 1 Suffix tree - Abahgat, mezz (1.3.0) 0.016 ms per query 0.0016 ms per query 1.00x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 2 Baked suffix array index - mezz (0.1.0) 0.028 ms per query 0.0022 ms per query 1.76x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 3 Baked substring index - mezz (0.1.0) 0.075 ms per query 0.005 ms per query 4.68x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.079 ms per query 0.004 ms per query 4.91x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 5 Suffix tree - Abahgat (2.0.0) 0.173 ms per query 0.004 ms per query 10.81x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 6 Lucene wildcard index - Apache Lucene (10.5.0) 0.432 ms per query 0.027 ms per query 26.93x

Allocation Rankings At 100k#

Metric: total allocation for one build, or normalized allocation per benchmark item; lower is better.

Measures temporary objects allocated while building the index for a 100,000-item catalog. Lower values reduce GC pressure and the chance of startup or reload stutter.

Build Allocations: All Defaults#

Prepares the full default search index: item names, tooltip text, mod names, and tags. This is the closest benchmark to the total search setup cost players feel after loading or reloading a large modpack.

100,000 items

Show data table
Rank Implementation/version Value CI +/- Vs best
1 Baked suffix array index - mezz (0.1.0) 217.654 MiB per build 0.00004 MiB per build 1.00x
2 Lucene wildcard index - Apache Lucene (10.5.0) 229.7 MiB per build 0.4 MiB per build 1.06x
3 Suffix tree - Abahgat, mezz (1.3.0) 284.618 MiB per build 0.000021 MiB per build 1.31x
4 Baked substring index - mezz (0.1.0) 327.169 MiB per build 0.000025 MiB per build 1.50x
5 Suffix array - Minecraft (1.12-pre6 to 26.2) 504.690 MiB per build 0.00006 MiB per build 2.32x
6 Suffix tree - Abahgat (2.0.0) 1.433 GiB per build 0.000000025 GiB per build 6.74x
Rank Implementation/version Value CI +/- Vs best
1 Baked suffix array index - mezz (0.1.0) 2.229 KiB per item 0.0000004 KiB per item 1.00x
2 Lucene wildcard index - Apache Lucene (10.5.0) 2.352 KiB per item 0.004 KiB per item 1.06x
3 Suffix tree - Abahgat, mezz (1.3.0) 2.914 KiB per item 0.00000022 KiB per item 1.31x
4 Baked substring index - mezz (0.1.0) 3.350 KiB per item 0.00000025 KiB per item 1.50x
5 Suffix array - Minecraft (1.12-pre6 to 26.2) 5.168 KiB per item 0.0000006 KiB per item 2.32x
6 Suffix tree - Abahgat (2.0.0) 15.026 KiB per item 0.00000026 KiB per item 6.74x

Typed Search Allocations At 100k#

Metric: total allocation for one typed query, or normalized allocation per benchmark item; lower is better.

Measures temporary objects allocated for each search-box update against a 100,000-item catalog. Lower values reduce GC pressure while a player is typing.

Typed Search Allocations: Default Corpus Prefix#

Simulates a player typing in the search box after the index is ready. Each step searches prefixes from many item-like words, so lower values mean the filtered item list updates with less typing lag.

100,000 items

Show data table
Characters Query Rank Implementation/version Total allocation CI +/- Vs best
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 1 Baked substring index - mezz (0.1.0) 126.3 B per query 2.6 B per query 1.00x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 1.03 MiB per query 0.05 MiB per query 8585.31x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 2.583 MiB per query 0.004 MiB per query 21437.01x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 4 Baked suffix array index - mezz (0.1.0) 6.18 MiB per query 0.21 MiB per query 51295.75x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 15.4 MiB per query 0.5 MiB per query 127762.50x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 6 Suffix tree - Abahgat (2.0.0) 66 MiB per query 6 MiB per query 547103.41x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 1 Baked substring index - mezz (0.1.0) 33.20 B per query 0.08 B per query 1.00x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 218.6 KiB per query 2.4 KiB per query 6744.58x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 487.5 KiB per query 0.8 KiB per query 15037.78x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 4 Baked suffix array index - mezz (0.1.0) 900 KiB per query 30 KiB per query 27757.80x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 1.99 MiB per query 0.08 MiB per query 62956.33x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 6 Suffix tree - Abahgat (2.0.0) 8.3 MiB per query 0.6 MiB per query 263715.16x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 1 Baked substring index - mezz (0.1.0) 35 B per query 4 B per query 1.00x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 163.21 KiB per query 0.22 KiB per query 4716.92x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 267.00 KiB per query 0.19 KiB per query 7716.61x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 4 Baked suffix array index - mezz (0.1.0) 304.1 KiB per query 0.6 KiB per query 8789.24x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 966 KiB per query 14 KiB per query 27904.42x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 6 Suffix tree - Abahgat (2.0.0) 3.85 MiB per query 0.05 MiB per query 114032.30x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 1 Baked substring index - mezz (0.1.0) 19.552 KiB per query 0.025 KiB per query 1.00x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 149.92 KiB per query 0.16 KiB per query 7.67x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 3 Baked suffix array index - mezz (0.1.0) 180.14 KiB per query 0.10 KiB per query 9.21x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 257.95 KiB per query 0.21 KiB per query 13.19x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 690.5 KiB per query 1.6 KiB per query 35.31x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 6 Suffix tree - Abahgat (2.0.0) 2.987 MiB per query 0.025 MiB per query 156.42x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 1 Baked substring index - mezz (0.1.0) 31.154 KiB per query 0.006 KiB per query 1.00x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 2 Baked suffix array index - mezz (0.1.0) 150.8 KiB per query 0.5 KiB per query 4.84x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 3 Suffix tree - Abahgat, mezz (1.3.0) 157.62 KiB per query 0.17 KiB per query 5.06x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 287.08 KiB per query 0.24 KiB per query 9.21x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 564.6 KiB per query 2.6 KiB per query 18.12x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 6 Suffix tree - Abahgat (2.0.0) 2.539 MiB per query 0.006 MiB per query 83.47x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 1 Baked substring index - mezz (0.1.0) 44.38 KiB per query 0.14 KiB per query 1.00x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 123.28 KiB per query 0.18 KiB per query 2.78x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 3 Baked suffix array index - mezz (0.1.0) 145.13 KiB per query 0.04 KiB per query 3.27x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 322.56 KiB per query 0.21 KiB per query 7.27x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 546 KiB per query 8 KiB per query 12.31x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 6 Suffix tree - Abahgat (2.0.0) 2.495 MiB per query 0.026 MiB per query 57.57x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 1 Baked substring index - mezz (0.1.0) 39.55 KiB per query 0.12 KiB per query 1.00x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 2 Suffix tree - Abahgat, mezz (1.3.0) 77.44 KiB per query 0.04 KiB per query 1.96x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 3 Baked suffix array index - mezz (0.1.0) 99.62 KiB per query 0.10 KiB per query 2.52x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 358.54 KiB per query 0.23 KiB per query 9.07x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 412 KiB per query 7 KiB per query 10.42x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 6 Suffix tree - Abahgat (2.0.0) 1.58 MiB per query 0.03 MiB per query 40.88x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 1 Baked substring index - mezz (0.1.0) 29.87 KiB per query 0.13 KiB per query 1.00x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 43.647 KiB per query 0.008 KiB per query 1.46x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 3 Baked suffix array index - mezz (0.1.0) 55.61 KiB per query 0.04 KiB per query 1.86x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 230.5 KiB per query 0.9 KiB per query 7.72x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 5 Lucene wildcard index - Apache Lucene (10.5.0) 388.29 KiB per query 0.24 KiB per query 13.00x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 6 Suffix tree - Abahgat (2.0.0) 893 KiB per query 10 KiB per query 29.90x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 1 Baked substring index - mezz (0.1.0) 34.93 KiB per query 0.25 KiB per query 1.00x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 52.285 KiB per query 0.015 KiB per query 1.50x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 3 Baked suffix array index - mezz (0.1.0) 53.59 KiB per query 0.05 KiB per query 1.53x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 224.15 KiB per query 0.13 KiB per query 6.42x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 5 Lucene wildcard index - Apache Lucene (10.5.0) 430.45 KiB per query 0.22 KiB per query 12.32x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 6 Suffix tree - Abahgat (2.0.0) 865 KiB per query 4 KiB per query 24.77x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 1 Baked suffix array index - mezz (0.1.0) 24.594 KiB per query 0.019 KiB per query 1.00x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 24.955 KiB per query 0.007 KiB per query 1.01x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 3 Baked substring index - mezz (0.1.0) 25.98 KiB per query 0.05 KiB per query 1.06x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 97.44 KiB per query 0.08 KiB per query 3.96x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 5 Suffix tree - Abahgat (2.0.0) 381.3 KiB per query 0.5 KiB per query 15.50x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 6 Lucene wildcard index - Apache Lucene (10.5.0) 463.34 KiB per query 0.25 KiB per query 18.84x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 1 Baked suffix array index - mezz (0.1.0) 21.66 KiB per query 0.03 KiB per query 1.00x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 21.782 KiB per query 0.0023 KiB per query 1.01x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 3 Baked substring index - mezz (0.1.0) 26.16 KiB per query 0.06 KiB per query 1.21x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 88.7 KiB per query 0.8 KiB per query 4.09x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 5 Suffix tree - Abahgat (2.0.0) 339.76 KiB per query 0.27 KiB per query 15.69x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 6 Lucene wildcard index - Apache Lucene (10.5.0) 496.6 KiB per query 0.4 KiB per query 22.93x
Characters Query Rank Implementation/version Per-item allocation CI +/- Vs best
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 1 Baked substring index - mezz (0.1.0) 0.001 B per item 0.000026 B per item 1.00x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 10.8 B per item 0.6 B per item 8585.31x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 27.08 B per item 0.04 B per item 21437.01x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 4 Baked suffix array index - mezz (0.1.0) 64.8 B per item 2.2 B per item 51295.75x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 161 B per item 6 B per item 127762.50x
1 16 cycled prefixes: r, p, t, g, c, s, A, B, ... 6 Suffix tree - Abahgat (2.0.0) 691 B per item 60 B per item 547103.41x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 1 Baked substring index - mezz (0.1.0) 0.000 B per item 0.0000008 B per item 1.00x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 2.239 B per item 0.024 B per item 6744.58x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 4.992 B per item 0.008 B per item 15037.78x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 4 Baked suffix array index - mezz (0.1.0) 9.2 B per item 0.3 B per item 27757.80x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 20.9 B per item 0.9 B per item 62956.33x
2 16 cycled prefixes: re, po, te, gi, ra, cu, sm, si, ... 6 Suffix tree - Abahgat (2.0.0) 88 B per item 7 B per item 263715.16x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 1 Baked substring index - mezz (0.1.0) 0.000 B per item 0.00004 B per item 1.00x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 1.671 B per item 0.0023 B per item 4716.92x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 3 Lucene wildcard index - Apache Lucene (10.5.0) 2.734 B per item 0.0019 B per item 7716.61x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 4 Baked suffix array index - mezz (0.1.0) 3.114 B per item 0.006 B per item 8789.24x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 9.89 B per item 0.14 B per item 27904.42x
3 16 cycled prefixes: rei, pol, tem, gil, raw, cut, smo, sil, ... 6 Suffix tree - Abahgat (2.0.0) 40.4 B per item 0.5 B per item 114032.30x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 1 Baked substring index - mezz (0.1.0) 0.200 B per item 0.00025 B per item 1.00x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 1.535 B per item 0.0016 B per item 7.67x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 3 Baked suffix array index - mezz (0.1.0) 1.845 B per item 0.0010 B per item 9.21x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 2.641 B per item 0.0022 B per item 13.19x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 7.070 B per item 0.016 B per item 35.31x
4 16 cycled prefixes: rein, poli, temp, gild, raw , cut , smoo, sile, ... 6 Suffix tree - Abahgat (2.0.0) 31.32 B per item 0.26 B per item 156.42x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 1 Baked substring index - mezz (0.1.0) 0.319 B per item 0.00006 B per item 1.00x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 2 Baked suffix array index - mezz (0.1.0) 1.544 B per item 0.005 B per item 4.84x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 3 Suffix tree - Abahgat, mezz (1.3.0) 1.614 B per item 0.0018 B per item 5.06x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 2.940 B per item 0.0024 B per item 9.21x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 5.782 B per item 0.027 B per item 18.12x
5 16 cycled prefixes: reinf, polis, tempe, gilde, raw s, cut g, smoot, silen, ... 6 Suffix tree - Abahgat (2.0.0) 26.63 B per item 0.06 B per item 83.47x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 1 Baked substring index - mezz (0.1.0) 0.454 B per item 0.0014 B per item 1.00x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 1.262 B per item 0.0018 B per item 2.78x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 3 Baked suffix array index - mezz (0.1.0) 1.486 B per item 0.0004 B per item 3.27x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 3.303 B per item 0.0021 B per item 7.27x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 5.60 B per item 0.08 B per item 12.31x
6 16 cycled prefixes: reinfo, polish, temper, gilded, raw st, cut gl, smooth, silent, ... 6 Suffix tree - Abahgat (2.0.0) 26.16 B per item 0.28 B per item 57.57x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 1 Baked substring index - mezz (0.1.0) 0.405 B per item 0.0012 B per item 1.00x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.793 B per item 0.0004 B per item 1.96x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 3 Baked suffix array index - mezz (0.1.0) 1.020 B per item 0.0010 B per item 2.52x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 4 Lucene wildcard index - Apache Lucene (10.5.0) 3.671 B per item 0.0024 B per item 9.07x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 5 Suffix array - Minecraft (1.12-pre6 to 26.2) 4.22 B per item 0.07 B per item 10.42x
7 16 cycled prefixes: reinfor, polishe, tempere, gilded , raw ste, cut gla, smooth , silent , ... 6 Suffix tree - Abahgat (2.0.0) 16.6 B per item 0.3 B per item 40.88x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 1 Baked substring index - mezz (0.1.0) 0.306 B per item 0.0013 B per item 1.00x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.447 B per item 0.00008 B per item 1.46x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 3 Baked suffix array index - mezz (0.1.0) 0.569 B per item 0.0004 B per item 1.86x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 2.360 B per item 0.010 B per item 7.72x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 5 Lucene wildcard index - Apache Lucene (10.5.0) 3.976 B per item 0.0024 B per item 13.00x
8 16 cycled prefixes: reinforc, polished, tempered, gilded t, raw stee, cut glas, smooth q, silent s, ... 6 Suffix tree - Abahgat (2.0.0) 9.15 B per item 0.10 B per item 29.90x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 1 Baked substring index - mezz (0.1.0) 0.358 B per item 0.0026 B per item 1.00x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.535 B per item 0.00015 B per item 1.50x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 3 Baked suffix array index - mezz (0.1.0) 0.549 B per item 0.0005 B per item 1.53x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 2.295 B per item 0.0014 B per item 6.42x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 5 Lucene wildcard index - Apache Lucene (10.5.0) 4.408 B per item 0.0022 B per item 12.32x
9 16 cycled prefixes: reinforce, polished , tempered , gilded to, raw steel, cut glass, smooth qu, silent sl, ... 6 Suffix tree - Abahgat (2.0.0) 8.86 B per item 0.04 B per item 24.77x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 1 Baked suffix array index - mezz (0.1.0) 0.252 B per item 0.00019 B per item 1.00x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.256 B per item 0.00007 B per item 1.01x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 3 Baked substring index - mezz (0.1.0) 0.266 B per item 0.0005 B per item 1.06x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.998 B per item 0.0008 B per item 3.96x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 5 Suffix tree - Abahgat (2.0.0) 3.904 B per item 0.005 B per item 15.50x
10 16 cycled prefixes: reinforced, polished r, tempered s, gilded top, raw steel , cut glass , smooth qua, silent sla, ... 6 Lucene wildcard index - Apache Lucene (10.5.0) 4.745 B per item 0.0025 B per item 18.84x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 1 Baked suffix array index - mezz (0.1.0) 0.222 B per item 0.0003 B per item 1.00x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 2 Suffix tree - Abahgat, mezz (1.3.0) 0.223 B per item 0.000023 B per item 1.01x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 3 Baked substring index - mezz (0.1.0) 0.268 B per item 0.0006 B per item 1.21x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 4 Suffix array - Minecraft (1.12-pre6 to 26.2) 0.908 B per item 0.008 B per item 4.09x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 5 Suffix tree - Abahgat (2.0.0) 3.479 B per item 0.0028 B per item 15.69x
11 16 cycled prefixes: reinforced , polished re, tempered sa, gilded topa, raw steel i, cut glass n, smooth quar, silent slat, ... 6 Lucene wildcard index - Apache Lucene (10.5.0) 5.085 B per item 0.004 B per item 22.93x

Retained Memory#

Metric: additional RAM kept by the ready-to-use search solution (bytes); lower is better.

Estimates how much extra JVM heap the completed all-defaults search solution keeps after loading, above a synthetic baseline item list that is already live. The benchmark uses one indexed result value per search string, matching JEI's separate search-tree shape. Searchable strings are generated after the baseline, so raw or encoded string storage retained by the index counts as additional search memory. The Lucene adapter uses heap-backed ByteBuffersDirectory in this harness; mmap-backed Lucene storage would need a separate mapped-file metric. Lower values leave more memory for the rest of the game and modpack.

100,000 items

Show data table
Rank Implementation/version Value Vs best
1 Lucene wildcard index - Apache Lucene (10.5.0) 19.6 MiB 1.00x
2 Baked suffix array index - mezz (0.1.0) 101 MiB 5.13x
3 Baked substring index - mezz (0.1.0) 118 MiB 6.01x
4 Suffix tree - Abahgat, mezz (1.3.0) 125 MiB 6.39x
5 Suffix array - Minecraft (1.12-pre6 to 26.2) 127 MiB 6.48x
6 Suffix tree - Abahgat (2.0.0) 166 MiB 8.46x

Additional retained-memory breakdown

A synthetic JEI item-list baseline is kept alive before measurement. The benchmark then generates one indexed result value per search string, matching JEI's separate search-tree shape, builds the index, releases the input corpus, and reports additional JVM-retained heap. Searchable strings and per-search-string result handles are not baseline memory, so raw strings or encoded text structures retained by an index, including Lucene term and postings data, count as additional search memory. The Lucene adapter uses heap-backed ByteBuffersDirectory here; an mmap-backed Lucene variant would need a separate mapped-file / OS page-cache metric. Implementation-specific components are populated only when the benchmark can identify them directly; the remainder is reported as unattributed.

Rank Implementation/version Total additional Heap delta Object graph Known index/text storage Result mapping Wrapper Unattributed
1 Lucene wildcard index - Apache Lucene (10.5.0) 19.6 MiB 19.6 MiB 18.1 MiB 2.08 MiB 3.19 MiB 200 B 14.4 MiB
2 Baked suffix array index - mezz (0.1.0) 101 MiB 101 MiB 96.0 MiB 0 B 0 B 0 B 101 MiB
3 Baked substring index - mezz (0.1.0) 118 MiB 118 MiB 116 MiB 0 B 0 B 0 B 118 MiB
4 Suffix tree - Abahgat, mezz (1.3.0) 125 MiB 125 MiB 125 MiB 0 B 0 B 0 B 125 MiB
5 Suffix array - Minecraft (1.12-pre6 to 26.2) 127 MiB 127 MiB 111 MiB 0 B 0 B 0 B 127 MiB
6 Suffix tree - Abahgat (2.0.0) 166 MiB 166 MiB 161 MiB 0 B 0 B 0 B 166 MiB

Raw Data#