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/