Skip to main content
OfficeIMO Docs Search documentation/

PSWriteOffice Performance Evidence

Edit on GitHub

Reproduce the Excel and CSV benchmarks used to evaluate PSWriteOffice PowerShell workflows.

PSWriteOffice uses the PSPublishModule/PowerForge benchmark runner so scenario rotation, cleanup, result validation, and report generation share one implementation. Excel is compared with PowerShell-facing workbook tools; CSV is compared with native PowerShell CSV handling.

What is compared

  • Every Excel reader receives the same PSWriteOffice-generated workbook shape.
  • Unsupported or semantically different competitor lanes are marked Skipped, not treated as wins.
  • CSV comparisons include object, DataTable, compression, wide-column, quoted-field, and dbatools-shaped workloads.
  • Output validation happens inside the scenario contract. Managed cleanup runs after setup and outside the timed operation.
  • Results are local snapshots with retained run context, not promises for every machine or workload.

Run the smoke suites

From a PSWriteOffice checkout with a sibling OfficeIMO source tree:

$env:OfficeIMORoot = (Resolve-Path ..\OfficeIMO).Path

pwsh -NoLogo -NoProfile -ExecutionPolicy Bypass `
    -File .\Benchmarks\Compare-ExcelPerformance.ps1 `
    -Suite Smoke

pwsh -NoLogo -NoProfile -ExecutionPolicy Bypass `
    -File .\Benchmarks\Compare-CsvPerformance.ps1 `
    -Suite Smoke

Use -Plan to inspect the selected scenarios without running them. Use -UpdateReadme only when intentionally recording a new result snapshot.

Selected committed results

These rows are examples from the current committed PSWriteOffice benchmark report. They deliberately include a result where native PowerShell is faster.

WorkloadRowsPSWriteOfficeComparisonResult
Excel report-workbook10,000889.0 msImportExcel 2.09 sPSWriteOffice fastest
Excel import-default-full10,000189.6 msExcelFast 226.6 ms; ImportExcel 520.5 msPSWriteOffice fastest
CSV DataTable write10,00059.8 msNativeCsv 42.2 msNativeCsv fastest
CSV DataTable read, mixed100,000219.6 msNativeCsv 2.57 sPSWriteOffice fastest
CSV GZip write, wide10,000118.8 msNativeCsv 397.7 msPSWriteOffice fastest

Do not choose a package from one row. Run the scenario matching your row count, schema, compression, formatting, and validation needs on infrastructure close to production.

Open the complete benchmark source and generated tables or return to the OfficeIMO benchmark hub.