[ https://issues.apache.org/jira/browse/MIME4J-318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17584544#comment-17584544 ]
Benoit Tellier commented on MIME4J-318: --------------------------------------- I also added `james.mime4j.buffer.recycling.enabled=true/false` system property to turn easily on/off this behaviour. > Buffer recycling > ---------------- > > Key: MIME4J-318 > URL: https://issues.apache.org/jira/browse/MIME4J-318 > Project: James Mime4j > Issue Type: Improvement > Components: core, dom > Reporter: Benoit Tellier > Priority: Major > Fix For: 0.8.8 > > Time Spent: 10m > Remaining Estimate: 0h > > Running MIME4J-317 benchmarks I realized we were alloction heavy with over 3 > GB/s of heap allocation. > MIME4J allocates many large buffer on a very regular basis thus undermining > performance. > Looking at what other parsing library does (eg: jackson JSON parsers) buffer > recycling is very common. > With MIME4j it significatly decreases allocation rates by a factor 10, > unlocking a 37% speedup in the benchmarks. > h3. Consideration > Maybe buffer recycling can be made opt in, enabled via system properties > first, and if convincing can be adopted in 0.8.9. Tell me if you want to have > a -Dmime4j.buffer.recycling.enabled=true/false system property... -- This message was sent by Atlassian Jira (v8.20.10#820010)