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]
