-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Add PNG benchmarks #616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add PNG benchmarks #616
Conversation
📝 WalkthroughWalkthroughAdds a new BenchmarkDotNet benchmark class to measure PNG byte QR code rendering by pre-generating QRCodeData samples (small/medium/big) and exposing four benchmark methods calling GetGraphic with different pixel sizes. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant BDN as BenchmarkDotNet
participant PB as PngByteQRCodeBenchmark
participant G as QRCodeGenerator
participant P as PngByteQRCode
Note over PB: Construction/Setup
BDN->>PB: Instantiate benchmark class
PB->>G: CreateQrCode("small", ECC L)
PB->>G: CreateQrCode("medium", ECC L)
PB->>G: CreateQrCode("big", ECC L)
G-->>PB: QRCodeData instances
rect rgba(220,240,255,0.6)
Note over BDN,PB: Benchmark iteration (example: Small)
BDN->>PB: RenderPngByteQRCodeSmall()
PB->>P: new PngByteQRCode(smallData)
P->>P: GetGraphic(10)
P-->>PB: byte[] PNG
PB-->>BDN: result
end
rect rgba(240,255,220,0.6)
Note over BDN,PB: Other cases
BDN->>PB: RenderPngByteQRCodeMedium/Big/Huge()
PB->>P: new PngByteQRCode(med/big)
P->>P: GetGraphic(10 or 50)
P-->>PB: byte[] PNG
PB-->>BDN: result
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧬 Code graph analysis (1)QRCoderBenchmarks/PngByteQRCode.cs (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit