From 60201f2b4ee3fcf222310b5bf91d1d150470cab7 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Fri, 11 Nov 2011 15:47:21 -0800 Subject: XML parsing optimizations Traceview showed approximately 10% of total parse time inside the synthetic 'trampoline' methods generated to provide inner classes with access to their outer class's private fields. The bottleneck in this particular case is in XmlBlock and its inner class Parser. Making the bottlneck outer-class members and methods package-scope instead of private removes that 10% overhead being spent within these access trampolines. Traceview tends to overemphasize the significance of very small methods such as these trampolines. That said, the measured speed gain on the ParseLargeXmlResFg op due to this patch is between 5% and 6%. Change-Id: Ia0e3ae5408d1f9992b46e6e30dd2407090379b07 --- core/java/android/content/res/XmlBlock.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/java/android/content/res/XmlBlock.java b/core/java/android/content/res/XmlBlock.java index ad1bfb23adbe..bea652911789 100644 --- a/core/java/android/content/res/XmlBlock.java +++ b/core/java/android/content/res/XmlBlock.java @@ -484,7 +484,7 @@ final class XmlBlock { private final AssetManager mAssets; private final int mNative; - private final StringBlock mStrings; + /*package*/ final StringBlock mStrings; private boolean mOpen = true; private int mOpenCount = 1; @@ -494,9 +494,9 @@ final class XmlBlock { private static final native int nativeGetStringBlock(int obj); private static final native int nativeCreateParseState(int obj); - private static final native int nativeNext(int state); + /*package*/ static final native int nativeNext(int state); private static final native int nativeGetNamespace(int state); - private static final native int nativeGetName(int state); + /*package*/ static final native int nativeGetName(int state); private static final native int nativeGetText(int state); private static final native int nativeGetLineNumber(int state); private static final native int nativeGetAttributeCount(int state); -- cgit v1.2.3-59-g8ed1b