[
https://issues.apache.org/jira/browse/TAP5-2337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Mikhulya resolved TAP5-2337.
------------------------------------
Resolution: Won't Fix
I've prepeared patch which doesn't break API compatibility (uses default
interface method from Java 8) and measured performance before/after
optimization.
After TAP5-2476 and changes made by [~jkemnade]) there is no any performance
gain from this patch.
Moreover creating/garbage collecting StringBuilders is cheaper then writing
directly to PrintWriter.
> Reduce number of calls of AbstractStringBuilder.expandCapacity
> --------------------------------------------------------------
>
> Key: TAP5-2337
> URL: https://issues.apache.org/jira/browse/TAP5-2337
> Project: Tapestry 5
> Issue Type: Improvement
> Reporter: Michael Mikhulya
> Priority: Minor
> Labels: patch, performance
> Attachments:
> 0001-TAP5-2337-Reduce-number-of-calls-of-AbstractStringBu-jk.patch,
> 0001-TAP5-2337-Reduce-number-of-calls-of-AbstractStringBu.patch,
> Tapestry-StringBuilder.png
>
>
> During profiling of Tapestry framework I found that
> AbstractStringBuilder.expandCapacity is called very frequently.
> There is a patch that get rid of creation StringBuilder with following calls
> of expandCapacity (which allocate memory and copy current content into it).
> I have to thank Dmitriy Ilyin, who helped me to investigate the issue and to
> find the simplest solution (actually we get a little bit less code while
> improving performance).
> With this improvement time per request decreased on 0.5ms (1% of overall
> time)on our test. All measurements were done with apache benchmark after warm
> up phase.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)