codebude / QRCoder

A pure C# Open Source QR Code implementation
MIT License
4.43k stars 1.08k forks source link

[WIP/QRCoder2] Consider Removing QRCodeGenerator Instance Methods #552

Open csturm83 opened 1 month ago

csturm83 commented 1 month ago

Note: This issue is part of the planning of version 2 of the QRCoder. The meta-issue can be found here. These comments have been copied into this issue here, with the comments marked as such. If comments on the topic of this issue already exist in the meta thread, they have been copied here, naming the authors.

Topic

The instance methods do nothing but delegate to static methods (CreateQrCode) or nop (Dispose).

Taking it a step further, you could then also remove the constructor and potentially make the class static.

Rationale Even empty objects can cause unnecessary perf hits when in a hot loop. See this previously reported issue.

I understand this fundamentally changes common usage patterns. I believe it would be for the better (less of a potential perf trap).