6.1s
Full rebuild
peak memory about 57 MB
Benchmarks
Performance claims without a method are marketing. Here is what we measured, how, what it does not prove, and exactly how head-to-head comparisons will be run so you can repeat them.
1 · Engine
PHP 8.3 / FPM / 128 MB, shared-style host. 100,000 products, 165,264 variations, ~38.8k terms. Averages of repeated runs; engine time only (no HTTP, no WordPress).
Source: docs/BENCHMARKS.md, php packages/engine/tests/bench.php
| Query | Time |
|---|---|
| Category + in stock | 0.49 ms |
| Category + brand + 2 facets + stock | 0.39 ms |
| Multiselect (OR within, AND across groups) | 0.42 ms |
| Price range + category + stock | 0.47 ms |
| Search + filters + first 24 product cards | 0.64 ms |
| Counts for five facet groups | 4.42 ms |
| Naive full scan in PHP (baseline) | 53.6 ms |
2 · Keeping the index fresh
Rebuilding everything on every price change would not survive an ERP sync. Patches and deltas write only what changed.
6.1s
peak memory about 57 MB
178ms
writes 0.9 MB instead of 41 MB
93ms
layered queries stay at 14 to 27 ms
3.1s
about 32,000 items per second, 43 MB of XML, flat memory (engine writer reading the index, PHP 8.3 CLI)
6.4s
about 37,000 items per second, 129 MB of XML; 100,000 parents with 159,758 variations, flat memory
3 · Head-to-head
Placeholder section. 4 comparison rows are waiting for measurements. The bars on the right are deliberately empty hatching, not results.
Protocol: identical WordPress + WooCommerce install on one MariaDB host, 100,000 products, warm and cold cache; time to first byte of the search request as the browser sees it; p50 and p95 over 200 requests per query after a warm-up; queries: a 3-letter prefix, a full product title, a SKU, a typo, a category + brand filter.
Feature, price and licensing comparisons that are already verified, with no speed claims: SearchWP, FiboSearch and the full compare table.
We will publish the raw numbers, the catalog generator and the scripts, and invite the plugin authors to review the setup. If a competitor looks better in your own test, we want to know.
Engine benchmarks are reproducible with the scripts shipped in the engine package. Until the repository is public we will send you the benchmark scripts on request, together with the synthetic catalog generator, so you can compare on hardware you trust.