[
https://issues.apache.org/jira/browse/CXF-3360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Kulp resolved CXF-3360.
------------------------------
Resolution: Fixed
Fix Version/s: 2.3.4
2.4
> repeated replace() function calls damage the performance
> --------------------------------------------------------
>
> Key: CXF-3360
> URL: https://issues.apache.org/jira/browse/CXF-3360
> Project: CXF
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.2
> Reporter: Xiaoming Shi
> Assignee: Daniel Kulp
> Fix For: 2.4, 2.3.4
>
>
> In the function sanitize(String in)
> ./apache-cxf-2.3.2-src/common/common/src/main/java/org/apache/cxf/management/InstrumentationManager.java
> line: 307
> 6 consecutive replace() is called to remove the special characters. It's 5+
> times slower than using a for loop replace them all.
> {noformat}
> e.g.
> - str.replace('a', '#');
> - str.replace('b', '%');
> + StringBuilder sb = new StringBuilder( str.length() );
> + for (int i=0; i < str.length(); i++)
> + {
> + char c = str.charAt(i);
> + if ( c == 'a' )
> + sb.append('#');
> + else if ( c== 'b' )
> + sb.append('%');
> + else
> + sb.append(c);
> + }
> + str = sb.toString();
> {noformat}
> This bug has the same problem as the MySQL bug :
> http://bugs.mysql.com/bug.php?id=45699
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira