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