Performance Benchmarks

Benchmarks measure specific scenarios under controlled, ideal lab conditions. Real-world performance varies based on input size, hardware, runtime, and many other factors. Treat these numbers as directional, not definitive.

About These Benchmarks

Quick vs Full

Quick mode uses minimal iterations (warmup=1, iterations=3) for fast feedback during development. Results have higher variance and should be treated as rough estimates.

Full mode uses BenchmarkDotNet defaults with statistical analysis, multiple iterations, and outlier detection. These results are more reliable for comparisons.

What We Measure

Comparisons target PNG output and include both encoding and rendering time, not just the encoding step.

  • Mean - Average time per operation (lower is better)
  • Allocated - Managed memory per operation (lower is better)

Compared Libraries

Each library has different strengths. Configuration attempts to match CodeGlyphX defaults where possible.

  • ZXing.Net - with ImageSharp 3.x renderer
  • QRCoder - PngByteQRCode (managed PNG)
  • Barcoder - with ImageSharp renderer

Limitations

  • Benchmarks run on a single machine configuration
  • Numbers reflect ideal conditions, not production guarantees
  • Results may differ on other hardware/OS
  • Specific scenarios may not reflect your use case
  • Library versions and configurations affect results

Run Mode

Platform

Comparison Summary

How CodeGlyphX compares to the fastest library in each scenario. "vs Fastest" shows lag when CodeGlyphX is not fastest; when CodeGlyphX is fastest it also includes the lead vs the runner-up. Use the vendor columns and Δ lines for full context. See "Detailed Results" below for full vendor breakdowns.

Loading benchmark data...

Performance Comparison

Visual comparison of CodeGlyphX vs the fastest competitor in each scenario. Shorter bars are better (lower execution time).

Loading chart data...

Detailed Results

Per-scenario breakdown showing all vendors tested. Not all scenarios have comparison data (some libraries don't support certain barcode types).

Loading detailed results...

Baseline Performance

CodeGlyphX-only benchmarks without comparisons. Useful for tracking performance across versions.

Loading baseline data...

Environment

Loading environment info...

Methodology Notes

  • Comparisons target PNG output and include encode+render (not encode-only).
  • Module size and quiet zone are matched to CodeGlyphX defaults where possible.
  • Image dimensions are derived from CodeGlyphX module calculations.
  • QR decode comparisons use raw RGBA32 bytes.
  • QR decode "clean" uses balanced settings; "noisy" uses robust with aggressive sampling.

Run Your Own

Clone the repository and run benchmarks on your own hardware:

# Quick benchmark (fast, less accurate)
pwsh Build/Run-Benchmarks-Compare.ps1

# Full benchmark (slow, statistically rigorous)
pwsh Build/Run-Benchmarks-Compare.ps1 -Full

# Generate report
pwsh Build/Generate-BenchmarkReport.ps1 -ArtifactsPath Build/BenchmarkResults/