[ 
https://issues.apache.org/jira/browse/CAMEL-11348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16027337#comment-16027337
 ] 

Claus Ibsen commented on CAMEL-11348:
-------------------------------------

Is this an optimization? as the former does a plain equals on lower case, which 
I would assume is similar to equalsIgnoreCase. Then because the string is also 
lower case, then startsWith check is very fast. Where as the latter is now 
doing both uppercase and lowercase conversions if you look inside the JDK 
source code.


> Small Performance optimization in RestConsumerContextPathMatcher
> ----------------------------------------------------------------
>
>                 Key: CAMEL-11348
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11348
>             Project: Camel
>          Issue Type: Improvement
>    Affects Versions: 2.19.0
>            Reporter: Zoltan Farkas
>            Assignee: Andrea Cosentino
>            Priority: Minor
>
> at 
> https://github.com/apache/camel/blob/57711e2696c32ef3ab99ad4ccc62f09bfda2ab40/camel-core/src/main/java/org/apache/camel/support/RestConsumerContextPathMatcher.java#L97
>   :
> {code}
>         String p1 = requestPath.toLowerCase(Locale.ENGLISH);
>         String p2 = consumerPath.toLowerCase(Locale.ENGLISH);
>         if (p1.equals(p2)) {
>             return true;
>         }
>         if (matchOnUriPrefix && p1.startsWith(p2)) {
>             return true;
>         }
>         return false;
> {code}
> we can improve to:
> {code}
>     if (requestPath.equalsIgnoreCase(consumerPath)) {
>       return true;
>     }
>     return matchOnUriPrefix && requestPath.regionMatches(true, 0, 
> consumerPath, 0, consumerPath.length());
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to