You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/09/12 10:30:39 UTC
svn commit: r1624476 -
/tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/ConstantUtf8.java
Author: markt
Date: Fri Sep 12 08:30:39 2014
New Revision: 1624476
URL: http://svn.apache.org/r1624476
Log:
Remove the cache. Generally, it makes performance worse not better. Testing with the jars that ship with Jira, performance was improved by around 10-15% by removing the cache.
Based on a suggestion by hzhang9
Modified:
tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/ConstantUtf8.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/ConstantUtf8.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/ConstantUtf8.java?rev=1624476&r1=1624475&r2=1624476&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/ConstantUtf8.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/bcel/classfile/ConstantUtf8.java Fri Sep 12 08:30:39 2014
@@ -18,9 +18,6 @@ package org.apache.tomcat.util.bcel.clas
import java.io.DataInputStream;
import java.io.IOException;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.Map;
import org.apache.tomcat.util.bcel.Constants;
@@ -37,39 +34,9 @@ public final class ConstantUtf8 extends
private static final long serialVersionUID = 8119001312020421976L;
private final String bytes;
- private static final int MAX_CACHE_ENTRIES = 20000;
- private static final int INITIAL_CACHE_CAPACITY = (int)(MAX_CACHE_ENTRIES/0.75);
- private static HashMap<String, ConstantUtf8> cache;
-
- private static synchronized ConstantUtf8 getCachedInstance(String s) {
- if (s.length() > 200) {
- return new ConstantUtf8(s);
- }
- if (cache == null) {
- cache = new LinkedHashMap<String, ConstantUtf8>(INITIAL_CACHE_CAPACITY, 0.75f, true) {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected boolean removeEldestEntry(Map.Entry<String, ConstantUtf8> eldest) {
- return size() > MAX_CACHE_ENTRIES;
- }
- };
- }
- ConstantUtf8 result = cache.get(s);
- if (result != null) {
- return result;
- }
- result = new ConstantUtf8(s);
- cache.put(s, result);
- return result;
- }
-
- private static ConstantUtf8 getInstance(String s) {
- return getCachedInstance(s);
- }
static ConstantUtf8 getInstance(DataInputStream file) throws IOException {
- return getInstance(file.readUTF());
+ return new ConstantUtf8(file.readUTF());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org