summaryrefslogtreecommitdiffstats
path: root/logging
diff options
context:
space:
mode:
authorBjorn Bringert <bringert@android.com>2010-03-19 11:22:40 +0000
committerBjorn Bringert <bringert@android.com>2010-03-19 11:35:37 +0000
commitc505c37bdf75d820d389a172bd634d383a4786d1 (patch)
tree72a8685291b465a292174b76e432ba1a2356975b /logging
parent0077ef5ce44e53dc5c63ed05a89839b97ac417e3 (diff)
downloadlibcore-c505c37bdf75d820d389a172bd634d383a4786d1.zip
libcore-c505c37bdf75d820d389a172bd634d383a4786d1.tar.gz
libcore-c505c37bdf75d820d389a172bd634d383a4786d1.tar.bz2
Move String creation outside O(n^2) path in LogManager
This more than halves the number of Strings and StringBuilders created when constructing a GoogleHttpClient and executing a single HTTP request. Bug http://b/issue?id=2529141 Change-Id: Ia8268fd692b08cf82e4abbffe1459e461e9f7e68
Diffstat (limited to 'logging')
-rw-r--r--logging/src/main/java/java/util/logging/LogManager.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/logging/src/main/java/java/util/logging/LogManager.java b/logging/src/main/java/java/util/logging/LogManager.java
index 413efb3..6cba849 100644
--- a/logging/src/main/java/java/util/logging/LogManager.java
+++ b/logging/src/main/java/java/util/logging/LogManager.java
@@ -326,12 +326,13 @@ public class LogManager {
// find children
// TODO: performance can be improved here?
+ String nameDot = name + '.';
Collection<Logger> allLoggers = loggers.values();
for (final Logger child : allLoggers) {
Logger oldParent = child.getParent();
if (parent == oldParent
&& (name.length() == 0 || child.getName().startsWith(
- name + '.'))) {
+ nameDot))) {
final Logger thisLogger = logger;
AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {