[ https://issues.apache.org/jira/browse/CXF-1916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp reassigned CXF-1916: -------------------------------- Assignee: Daniel Kulp > 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 > Assignee: Daniel Kulp > Priority: Minor > Attachments: MimeBodyPartInputStream.java, TestMBPIS.java > > > 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.