Mtom Performance - MimeBodyPartInputStream performs slow
--------------------------------------------------------
Key: CXF-1916
URL: https://issues.apache.org/jira/browse/CXF-1916
Project: CXF
Issue Type: Improvement
Components: Core
Affects Versions: 2.0.7
Environment: Windows XP, Java SE 1.6.0_06
Reporter: Mayank Mishra
Priority: Minor
MimeBodyPartInputStream doesn't implements read(byte[]), hence it delegates it
to parent InputStream class. InputStream's read(byte[]) runs over a for loop,
eventually delegating to PushBackInputStream, which reads a single byte and
performs boundary matching over that Byte.
A simple test program which takes the time taken by the MimeBodyPartInputStream
to read from a loaded buffer shows that MimeBodyPartInputStream takes
~1200-1400 ms to read a 12MB buffer. On the other hand, an InputStream takes
around ~100-150ms to do so. I can understand that MimeBodyPartInputStream has
the logic of detecting a probable boundary and it performs multiple if checks
to do so, also it calls read and unread over PushBackInputStream. But counting
the reads and unreads also, the time of MimeBodyPartInputStream looks poor.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.