[ https://issues.apache.org/jira/browse/TIKA-3237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17239429#comment-17239429 ]
Hudson commented on TIKA-3237: ------------------------------ SUCCESS: Integrated in Jenkins build Tika » tika-main-jdk8 #55 (See [https://ci-builds.apache.org/job/Tika/job/tika-main-jdk8/55/]) TIKA-3237: great optimization in ForkParser (lfcnassif: [https://github.com/apache/tika/commit/d8b0d1fe33942ef49dd34aa58c14b73e27daeadd]) * (edit) tika-core/src/main/java/org/apache/tika/fork/ContentHandlerProxy.java * (edit) tika-core/src/test/java/org/apache/tika/fork/ForkParserTest.java * (edit) tika-core/src/main/java/org/apache/tika/fork/ContentHandlerResource.java * (edit) CHANGES.txt > Great optimization in ForkParser > -------------------------------- > > Key: TIKA-3237 > URL: https://issues.apache.org/jira/browse/TIKA-3237 > Project: Tika > Issue Type: Improvement > Components: core > Affects Versions: 1.24.1 > Environment: Windows 10, Oracle JDK 1.8.0_261 x64, 24 cores > Reporter: Luís Filipe Nassif > Assignee: Luís Filipe Nassif > Priority: Major > Fix For: 2.0 > > > There is a huge overhead in ForkParser ContentHandlerProxy and > ContentHandlerResource read/write char[]/string methods. A simple change to > not loop reading/writing each char of strings can result in speed ups of > several orders of magnitude. > > Tests with ~10k small RFC822 files (22MB), 24 parsing threads, have shown > parse times below: > ForkParser off: 4s > ForkParser on: 30min > ForkParser patched: 17s > > Also, there is a bug when running at least with Oracle JDK8 that, if a String > greater than 65535 chars is written, a UTFDataFormatException is thrown from > DataOutputStream.writeUTF(String) method. -- This message was sent by Atlassian Jira (v8.3.4#803005)