Luís Filipe Nassif created TIKA-3237: ----------------------------------------
Summary: 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 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 is written, a UTFDataFormatException is thrown from DataOutputStream.writeUTF(String) method. -- This message was sent by Atlassian Jira (v8.3.4#803005)