Benoit Tellier created MIME4J-302:
-------------------------------------
Summary: MessageBuilder::parse repeatedly calls toLowerCase on
header names
Key: MIME4J-302
URL: https://issues.apache.org/jira/browse/MIME4J-302
Project: James Mime4j
Issue Type: Improvement
Components: core, dom
Reporter: Benoit Tellier
As attached I was surprised MIME4J parsing spends 18% of its time calling
toLowerCase on header names. This represents 12% of allocated memory.
By holding the lowerCased name as part of the field name, and doing lazy
initialization on it we can get this down to 6%.
Also, an optimization implemented in MaximalBodyDescriptor aims at reducing the
costs of toLowerCase calls: upon known header names lookup the lowercase
version of the field instead of the normal version to benefit optimizations
(calling toLowerCase on a lowerCase string do not do allocation, it just
iterates String content). It might be worth generalizing it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)