PHPackages                             simplemage/module-indexer-benchmark - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. simplemage/module-indexer-benchmark

ActiveMagento2-module[Testing &amp; Quality](/categories/testing)

simplemage/module-indexer-benchmark
===================================

SimpleMage Indexer Benchmark — dev-only verification harness for SimpleMage\_CategoryProductIndexer: before/after benchmark commands, metric collectors, MD5 correctness verification. Staging/dev use only.

v1.0.0(2mo ago)101MITPHPPHP ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0

Since Jun 12Pushed 2mo agoCompare

[ Source](https://github.com/SimpleMage/magento2-indexer-benchmark)[ Packagist](https://packagist.org/packages/simplemage/module-indexer-benchmark)[ Docs](https://github.com/simplemage/magento2-indexer-benchmark)[ RSS](/packages/simplemage-module-indexer-benchmark/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (3)Versions (2)Used By (0)

SimpleMage - Indexer Benchmark &amp; Verification Harness
=========================================================

[](#simplemage---indexer-benchmark--verification-harness)

Dev-only companion module for **SimpleMage\_CategoryProductIndexer**. It measures the before/after performance of the `catalog_category_product` indexer on YOUR database and **proves the index output is byte-for-byte identical** to core Magento - every row, every column, every store view, MD5-compared.

> ⚠️ **Staging / development environments only.** This module resets indexer state, flushes caches and dumps index tables. Never install it on production. Nothing ever leaves your server - all results are local files under `var/simplemage-bench/`.

Requirements
------------

[](#requirements)

- Magento Open Source 2.4.6 - 2.4.9 or Mage-OS 1.x - 3.x, PHP 8.2 - 8.5
- A staging copy of your store database (the bigger the catalog, the better)
- The `SimpleMage_CategoryProductIndexer` module files in `app/code/` (disabled at first!)

Beta test - 5 steps
-------------------

[](#beta-test---5-steps)

```
# 0. Install the harness (SimpleMage_CategoryProductIndexer stays DISABLED for now)
bin/magento module:enable SimpleMage_IndexerBenchmark
bin/magento setup:upgrade && bin/magento setup:di:compile

# 1. BASELINE - measure core Magento on your data
bin/magento simplemage:bench:run -i catalog_category_product -m baseline
bin/magento simplemage:bench:snapshot -i catalog_category_product -l core

# 2. Enable the SimpleMage indexer module
bin/magento module:enable SimpleMage_CategoryProductIndexer
bin/magento setup:upgrade && bin/magento setup:di:compile

# 3. CANDIDATE - measure the SimpleMage path on the same data
bin/magento simplemage:bench:run -i catalog_category_product -m candidate
bin/magento simplemage:bench:snapshot -i catalog_category_product -l simplemage -d core

# 4. Full report: timings + byte-identity verdict
bin/magento simplemage:bench:compare -i catalog_category_product \
    --snapshot-baseline=core --snapshot-candidate=simplemage
```

**That's it.** Step 3's `-d core` already prints the MD5 verdict (`Snapshots MATCH` / `DIFFER`); step 4 adds the side-by-side metric table. Please send us the full console output of step 4 (and step 3 if it reported `DIFFER`).

> 🔒 Do not change the catalog between step 1 and step 3 (disable cron) - any product/category change in between produces a false DIFFER.

Optional: partial-reindex benchmark
-----------------------------------

[](#optional-partial-reindex-benchmark)

Partial (MView) reindex is the production hot path - worth measuring too. The same seed guarantees baseline and candidate use the identical ID sample:

```
# before enabling the module:
bin/magento simplemage:bench:run-partial -i catalog_product_category -c 100 -m baseline
# after enabling:
bin/magento simplemage:bench:run-partial -i catalog_product_category -c 100 -m candidate
```

Commands
--------

[](#commands)

CommandPurpose`simplemage:bench:run -i  -m baseline|candidate [-l label] [--skip-reset]`Full reindex with metric collection (wall clock, peak memory, SQL query count/time, slow queries, lock waits, tmp disk tables)`simplemage:bench:snapshot -i  -l  [-d ]`Deterministic full-content dump of the live index tables; with `-d`, saves AND diffs against an earlier label (MD5 + line diff)`simplemage:bench:compare -i  [-l label] [--snapshot-baseline=A --snapshot-candidate=B] [--strict] [--threshold=10]`Baseline vs candidate metric table, regression flags, optional snapshot verdict`simplemage:bench:run-partial -i  -c  -m  [--seed 42] [--ids 1,2,3]`Partial reindex (`reindexList`) benchmark on a deterministic ID sampleHow the correctness check works
-------------------------------

[](#how-the-correctness-check-works)

`simplemage:bench:snapshot` dumps **every row of every `catalog_category_product_index_store*` table** (the live, post-switch tables - excluding `_replica`/`_tmp`/`_outdated`) in canonical order with all columns serialised per line, then compares files via streaming MD5. A `MATCH` means the SimpleMage indexer produced literally identical data to core on your catalog. No sampling, no aggregation limits, table-prefix aware.

License
-------

[](#license)

MIT - see [LICENSE](LICENSE).

###  Health Score

39

—

LowBetter than 84% of packages

Maintenance86

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

70d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7571848?v=4)[Jakub Idziak](/maintainers/idziakjakub)[@idziakjakub](https://github.com/idziakjakub)

---

Top Contributors

[![idziakjakub](https://avatars.githubusercontent.com/u/7571848?v=4)](https://github.com/idziakjakub "idziakjakub (2 commits)")

---

Tags

performancemagentobenchmarkverificationindexermagento2

### Embed Badge

![Health badge](/badges/simplemage-module-indexer-benchmark/health.svg)

```
[![Health](https://phpackages.com/badges/simplemage-module-indexer-benchmark/health.svg)](https://phpackages.com/packages/simplemage-module-indexer-benchmark)
```

###  Alternatives

[run-as-root/magento2-prometheus-exporter

Magento2 Prometheus Exporter

69362.0k](/packages/run-as-root-magento2-prometheus-exporter)[smile/elasticsuite

Magento 2 merchandising and search engine built on ElasticSearch

8034.8M53](/packages/smile-elasticsuite)[mollie/magento2

Mollie Payment Module for Magento 2

1142.0M17](/packages/mollie-magento2)[magewirephp/magewire

A framework that makes building reactive and dynamic interfaces simple in Magento 2

2621.5M47](/packages/magewirephp-magewire)[opengento/module-category-import-export

This module add the capability to import and export the categories from the back-office.

1312.0k3](/packages/opengento-module-category-import-export)[mage-os/module-automatic-translation

Automatic AI content translation for Mage-OS.

3223.7k](/packages/mage-os-module-automatic-translation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
