Author: vincenzo Date: Wed Aug 30 08:15:59 2006 New Revision: 438517 URL: http://svn.apache.org/viewvc?rev=438517&view=rev Log: Reduce the number of token.toLowerCase() calls in org.apache.james.util.BayesianAnalyzer.buildDegenerated(). See JAMES-600.
Modified: james/server/trunk/src/java/org/apache/james/util/BayesianAnalyzer.java Modified: james/server/trunk/src/java/org/apache/james/util/BayesianAnalyzer.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/BayesianAnalyzer.java?rev=438517&r1=438516&r2=438517&view=diff ============================================================================== --- james/server/trunk/src/java/org/apache/james/util/BayesianAnalyzer.java (original) +++ james/server/trunk/src/java/org/apache/james/util/BayesianAnalyzer.java Wed Aug 30 08:15:59 2006 @@ -649,6 +649,7 @@ ArrayList tokens = new ArrayList(); String header; String token; + String tokenLower; // look for a header string termination int headerEnd = fullToken.indexOf(':'); @@ -660,18 +661,21 @@ token = fullToken; } + // prepare a version of the token containing all lower case (for performance reasons) + tokenLower = token.toLowerCase(); + int end = token.length(); do { - if (!token.substring(0, end).equals(token.substring(0, end).toLowerCase())) { - tokens.add(header + token.substring(0, end).toLowerCase()); + if (!token.substring(0, end).equals(tokenLower.substring(0, end))) { + tokens.add(header + tokenLower.substring(0, end)); if (header.length() > 0) { - tokens.add(token.substring(0, end).toLowerCase()); + tokens.add(tokenLower.substring(0, end)); } } if (end > 1 && token.charAt(0) >= 'A' && token.charAt(0) <= 'Z') { - tokens.add(header + token.charAt(0) + token.substring(1, end).toLowerCase()); + tokens.add(header + token.charAt(0) + tokenLower.substring(1, end)); if (header.length() > 0) { - tokens.add(token.charAt(0) + token.substring(1, end).toLowerCase()); + tokens.add(token.charAt(0) + tokenLower.substring(1, end)); } } @@ -718,7 +722,7 @@ } p *= theDoubleValue; np *= (1.0 - theDoubleValue); - // System.out.println("Token:" + tps.token + ", p=" + theDoubleValue + ", overall p=" + p / (p + np)); + //System.out.println("Token " + tps + ", p=" + theDoubleValue + ", overall p=" + p / (p + np)); } return (p / (p + np)); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]