You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Kevin Brown <et...@google.com> on 2008/03/19 00:32:00 UTC

Re: svn commit: r638636 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/ main/java/org/apache/shindig/gadgets/spec/ main/java/org/apache/shindig/social/samplecontainer/ main/java/org/apache/shindig/util/ test/java

On Tue, Mar 18, 2008 at 4:27 PM, <li...@apache.org> 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