Oleg Kalnichevski wrote:
Oleg Kalnichevski wrote:
Folks

I am currently working on refactoring QuotedPrintable codecs to address MIME4J-103 and MIME4J-143. I also would like to look into possibility of eliminating intermediate content buffering in Base64InputStream and removal of ByteQueue and UnboundedFifoByteBuffer classes

If I hear no objections, I'll be committing my changes directly to the trunk. Please complain loudly if that is not ok. If you prefer review-then-commit approach I could commit my changes to a private branch first.

Oleg


Just committed the first round of changes. I am already seeing ~250% performance improvement. More to come.

--- before the refactoring ---
41262 ms
104857600 bytes
2.4235373951820076 mb/sec


--- after the refactoring ---
15600 ms
104857600 bytes
6.410256410256411 mb/sec

Oleg


I have completed the refactoring. I am seeing 600%-700% performance improvement over the previous implementation when parsing binary data streams. I believe improvement in performance for real-world, mostly ASCII messages should be pretty close to 10 fold.


--- before the refactoring ---
41262 ms
104857600 bytes
2.4235373951820076 mb/sec

--- after the refactoring ---
6405 ms
104857600 bytes
15.6128024980484 mb/sec

On the downside the code has become significantly more cryptic and difficult to understand. So, peer code review / more testing would be great.

Oleg

Reply via email to