Skip to content
MNB PHPExcelDeveloper Guide
AI

Benchmarks

Spreadsheet Benchmark Results

Review disclosed reference measurements, understand what they do and do not prove, and reproduce PHP Excel benchmarks on your own environment.

Level
Intermediate
Reading time
9 min
Package
mnb/mnb-phpexcel
Updated
PHP 8.1+ReproducibleEnvironment qualified
Available sincev2.0.5Version guide

Reference documentation run#

Reference environment

Date
2026-07-30
PHP
8.4.16 CLI, NTS
MNB source
Core 2.0.1 XML fix + XLSX 2.0.0 parser
Extensions
XMLReader off, native ZipArchive off; library fallbacks active
Fixture
large-orders.xlsx, 500 data rows, 22,629 bytes
Iterations
9 per mode; median reported
Storage
Container local filesystem

Measured results

Reference reading measurements
MethodRowsMedian timePeak memoryNotes
rows()50037.512 ms18 MiBForward iteration; no final row array retained.
toArray()50037.298 ms18 MiBSmall fixture; collected rows did not exceed allocator baseline.

Interpretation boundary: These numbers describe one disclosed environment and fixture. They are not a universal performance guarantee. Re-run the included script on your PHP version, hardware, storage, workbook, and options.

What this result means#

  • It confirms both reader paths completed the same 500-row fixture in the disclosed fallback environment.
  • It does not prove that one method is always faster; this fixture is too small for broad conclusions.
  • Streaming becomes more important when retained row data, shared strings, formulas, styles, or business transformations grow.
  • Later v2.0 maintenance releases changed sheet utilities, diagnostics, error rendering, and structured counts rather than the core worksheet parser used here.

Continue with the detailed benchmark#