I can see optionmodelimpl being a hotspot if it is being rendered on a page 
with many selects, or selects with many options since methods within will be 
invoked once per option. 

Robert

GATAATGCTATTTCTTTAATTTTCGAA

> On May 22, 2014, at 8:11 AM, "Lance (JIRA)" <[email protected]> wrote:
> 
> 
>    [ 
> https://issues.apache.org/jira/browse/TAP5-2332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14005738#comment-14005738
>  ] 
> 
> Lance edited comment on TAP5-2332 at 5/22/14 1:09 PM:
> ------------------------------------------------------
> 
> I only want to change the things that actually make a difference. I feel that 
> EventImpl is a hot-spot so I can definately see that making a difference. I 
> would be very surprised if, for instance, OptionModelImpl was a hot-spot.
> 
> 
> was (Author: uklance):
> I only want to change the things that actually make a difference. I feek that 
> EventImpl is a hot-spot so I can definately see that making a difference. I 
> would be very surprised if, for instance, OptionModelImpl was a hot-spot.
> 
>> Optimize String concatenation performance
>> -----------------------------------------
>> 
>>                Key: TAP5-2332
>>                URL: https://issues.apache.org/jira/browse/TAP5-2332
>>            Project: Tapestry 5
>>         Issue Type: Improvement
>>           Reporter: Michael Mikhulya
>>           Assignee: Jochen Kemnade
>>           Priority: Minor
>>             Labels: performance
>>        Attachments: 0001-TAP5-2332-get-rid-of-String.format-usage.patch, 
>> profile-patched.png, profile-vanilla.png
>> 
>> 
>> During profiling I found that String.format provides much load on CPU.
>> In many cases in Tapestry String.format can be easily replaced with simple 
>> String concatenation.
>> Simple JMH (http://openjdk.java.net/projects/code-tools/jmh/) test
>> {code:java}
>> public class FormatVsConcat {
>>    private static final String format = "This is a test string with %s";
>>    private static final String concat1 = "This is a test string with ";
>>    private static final String concat2 = "test word";
>>    @GenerateMicroBenchmark
>>    public String format() {
>>        return String.format(format, concat2);
>>    }
>>    @GenerateMicroBenchmark
>>    public String concat() {
>>        return concat1 + concat2;
>>    }
>> }
>> {code}
>> shows, that concatenation is 366(!) times faster.
>> I removed only hot places in tapestry and get following results with apache 
>> benchmark:
>> *Not patched* tapestry version:
>> Requests per second: *21.38 /sec* (mean)
>> Time per request: *46.764 [ms]* (mean)
>> *Patched* tapestry version:
>> Requests per second: *27.77 /sec* (mean)
>> Time per request: *36.013 [ms]* (mean)
>> So we gained 10ms per request or 20% of rendering time.
>> If you don't mind I would like to get rid of String.format in all places of 
>> Tapestry and provide patch. I fixed only hot places which appeared during 
>> ab-profiling of one concrete page. So it is very likely that not all hot 
>> places were found and fixed.
> 
> 
> 
> --
> This message was sent by Atlassian JIRA
> (v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to