JAXRSUtils: Avoid calling Message unless it'll be logged --------------------------------------------------------
Key: CXF-3324 URL: https://issues.apache.org/jira/browse/CXF-3324 Project: CXF Issue Type: Improvement Components: JAX-RS Affects Versions: 2.3.2 Environment: JDK 1.6 Reporter: Ka-Lok Fung Priority: Minor Fix For: 2.3.3 Our performance and reliability testing has shown that Message.toString() is called many times in JAXRSUtils.selectResourceClass and JAXRSUtils.findTargetMethod. It takes up 2.5% of our CPU when these messages aren't even being logged. An image from the profiler showing this hotspot is attached. According to our tests, if you pre-check if the message is loggable (e.g., if (LOG.isLoggable(Level.FINE))) and logging is set to the default level, the throughput is increased by 2% and the CPU time is reduced by an equal amount. The lines where this change would have the most impact are indicated in the image. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira