diff options
author | Bjorn Bringert <bringert@android.com> | 2010-03-19 11:22:40 +0000 |
---|---|---|
committer | Bjorn Bringert <bringert@android.com> | 2010-03-19 11:35:37 +0000 |
commit | c505c37bdf75d820d389a172bd634d383a4786d1 (patch) | |
tree | 72a8685291b465a292174b76e432ba1a2356975b /logging | |
parent | 0077ef5ce44e53dc5c63ed05a89839b97ac417e3 (diff) | |
download | libcore-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.java | 3 |
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() { |