java.awt event processing performance degradation on JRE7 - linux
Anthony Petrov
anthony.petrov at oracle.com
Tue Apr 17 03:28:14 PDT 2012
Here's the relevant thread:
http://mail.openjdk.java.net/pipermail/awt-dev/2011-October/001952.html
It was concerning building strings that are supposed to be logged while
the logging itself wasn't actually enabled.
The problem reported by Nicolas seems to be about logger initialization,
so I doubt these two issues are related.
--
best regards,
Anthony
On 4/17/2012 6:03 AM, David Holmes wrote:
> This sounds like it may be related to an issue that was reported a while
> ago. I don't recall the exact details but there was some massive array
> being allocated if I recall correctly. The fix was to add a guard to the
> logging calls in the AWT code. But in this case if logging is being used
> then you will hit this overhead.
>
> Sorry I don't recall enough details to find an exact reference. Skimming
> a number of mailing list archives hasn't turned it up either.
>
> David
>
> On 16/04/2012 11:18 PM, Daniel D. Daugherty wrote:
>> java.util.logging is currently handled by the Serviceability Team.
>> Adding that alias to this e-mail thread...
>>
>> Dan
>>
>>
>> On 4/16/12 12:17 AM, Nicolas Carranza wrote:
>>> Moving the mouse pointer over a java.awt.Window using JRE7 consumes
>>> aprox. twice the CPU time as with JRE6 when logging is used (when a call
>>> to java.util.logging.getLogger(String)---even without using the returned
>>> Logger--- has been done). Keyboard key event processing suffers the same
>>> performance penalty. For steps to reproduce this problem please look at:
>>> http://www.java.net/forum/topic/performance/general-performance-discussion/jre7s-javaawt-performance-degradation-caused-javautillogging-linux
>>>
>>>
>>> .
>>>
>>> The performance degradation seems to be "enabled" by the call of
>>> sun.util.logging.PlatformLogger.redirectPlatformLoggers() done inside
>>> java.util.LogManager.readPrimorialConfiguration() on JRE7. Call chain:
>>> Logger.getLogger()->LogManager.getLogManager()->
>>> LogManager.readPrimordialConfiguration()->sun.util.logging.PlatformLogger.redirectPlatformLoggers().
>>>
>>>
>>>
>>> This call is not made on JRE6. If this problem is not easy to solve then
>>> I guess is better to remove this call from JRE7's
>>> readPrimordialConfiguration as it does more harm than good.
>>>
>>> Please let me know if there is a better place to report this problem. A
>>> couple of weeks ago I "opened" a bug report on bugs.sun.com but I
>>> received no response at all.
>>>
>>> Cheers,
>>> Nicolas
More information about the jdk7u-dev
mailing list