On Tue, Mar 18, 2008 at 4:27 PM, <[EMAIL PROTECTED]> wrote: > Author: lindner > Date: Tue Mar 18 16:27:13 2008 > New Revision: 638636 > > URL: http://svn.apache.org/viewvc?rev=638636&view=rev > Log: > Some small performance improvements. > > Modified: > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetToken.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/BlobCrypter.java > > > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/HashUtil.java > > > incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/GadgetRendererTest.java > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetToken.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetToken.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetToken.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/BasicGadgetToken.java > Tue Mar 18 16:27:13 2008 > @@ -66,7 +66,7 @@ > > public BasicGadgetToken(String owner, String viewer, String app, > String domain) throws BlobCrypterException { > - tokenData = new HashMap<String, String>(); > + tokenData = new HashMap<String, String>(5,1); > tokenData.put(OWNER_KEY, owner); > tokenData.put(VIEWER_KEY, viewer); > tokenData.put(APP_KEY, app); > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/JsFeatureLoader.java > Tue Mar 18 16:27:13 2008 > @@ -26,12 +26,7 @@ > > import java.io.File; > import java.io.IOException; > -import java.util.HashMap; > -import java.util.HashSet; > -import java.util.LinkedList; > -import java.util.List; > -import java.util.Map; > -import java.util.Set; > +import java.util.*; > import java.util.logging.Logger; > > /** > @@ -303,7 +298,7 @@ > final List<String> deps; > > public ParsedFeature() { > - libraries = new HashMap<RenderingContext, Map<String, > List<JsLibrary>>>(); > + libraries = new EnumMap<RenderingContext, Map<String, > List<JsLibrary>>>(RenderingContext.class); > deps = new LinkedList<String>(); > } > > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/MessageBundle.java > Tue Mar 18 16:27:13 2008 > @@ -68,9 +68,10 @@ > throw new SpecParserException(e); > } > > - Map<String, String> messages = new HashMap<String, String>(); > > NodeList nodes = doc.getElementsByTagName("msg"); > + Map<String, String> messages = new HashMap<String, String>( > nodes.getLength(), 1); > + > for (int i = 0, j = nodes.getLength(); i < j; ++i) { > Element msg = (Element)nodes.item(i); > String name = XmlUtil.getAttribute(msg, "name"); > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java > Tue Mar 18 16:27:13 2008 > @@ -455,7 +455,7 @@ > FeatureVisitor featureVisitor = new FeatureVisitor(); > IconVisitor iconVisitor = new IconVisitor(); > LocaleVisitor localeVisitor = new LocaleVisitor(specUrl); > - Map<String, ElementVisitor> visitors = new HashMap<String, > ElementVisitor>(); > + Map<String, ElementVisitor> visitors = new HashMap<String, > ElementVisitor>(5,1); > visitors.put("Preload", preloadVisitor); > visitors.put("Optional", featureVisitor); > visitors.put("Require", featureVisitor);
This actually might cause problems if new visitors are added. I'd suggest leaving it as it was unless it actually yields significant improvements. As near as I can tell hash maps have at least 5-10 buckets to start with anyway, so we shouldn't ever be hitting a resize here. > > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/social/samplecontainer/BasicDataService.java > Tue Mar 18 16:27:13 2008 > @@ -36,7 +36,7 @@ > > // TODO: Use the opensource Collections library > Map<String, Map<String, String>> data = > - new HashMap<String, Map<String, String>>(); > + new HashMap<String, Map<String, String>>(ids.size(), 1); > > for (String id : ids) { > data.put(id, allData.get(id)); > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/BlobCrypter.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/BlobCrypter.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/BlobCrypter.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/BlobCrypter.java > Tue Mar 18 16:27:13 2008 > @@ -121,11 +121,10 @@ > */ > private byte[] serializeAndTimestamp(Map<String, String> in) > throws UnsupportedEncodingException { > - StringBuffer sb = new StringBuffer(); > - Iterator<Map.Entry<String,String>> vals = in.entrySet().iterator(); > + StringBuilder sb = new StringBuilder(); > > - while (vals.hasNext()) { > - Map.Entry<String, String> val = vals.next(); > + for (Map.Entry<String, String> stringStringEntry : in.entrySet()) { > + Map.Entry<String, String> val = stringStringEntry; > sb.append(URLEncoder.encode(val.getKey(), UTF8)); > sb.append("="); > sb.append(URLEncoder.encode(val.getValue(), UTF8)); > > Modified: > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/HashUtil.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/HashUtil.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/HashUtil.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/util/HashUtil.java > Tue Mar 18 16:27:13 2008 > @@ -46,7 +46,7 @@ > byte[] hash = md.digest(data); > // Convert to hex. possibly change to base64 in the future for smaller > // signatures. > - StringBuffer hexString = new StringBuffer(); > + StringBuilder hexString = new StringBuilder(); > for (byte b : hash) { > hexString.append(Integer.toHexString(0xFF & b)); > } > > Modified: > incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/GadgetRendererTest.java > URL: > http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/GadgetRendererTest.java?rev=638636&r1=638635&r2=638636&view=diff > > ============================================================================== > --- > incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/GadgetRendererTest.java > (original) > +++ > incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/GadgetRendererTest.java > Tue Mar 18 16:27:13 2008 > @@ -31,6 +31,7 @@ > import java.util.Enumeration; > import java.util.HashSet; > import java.util.Set; > +import java.util.Arrays; > > public class GadgetRendererTest extends GadgetTestFixture { > > @@ -89,9 +90,7 @@ > public void testForcedLibsIncluded() throws Exception { > String content = parseBasicGadget(); > Set<String> libs = new HashSet<String>(); > - for (String lib : LIBS.split(":")) { > - libs.add(lib); > - } > + libs.addAll(Arrays.asList(LIBS.split(":"))); > String libStr = state.getJsUrl(libs, null); > assertTrue(-1 != content.indexOf("<script src=\"" + libStr + "\">")); > } > > > -- ~Kevin

