RFR: 8003322: Add instrumentation points for tracing of I/O calls (original) (raw)

Alan Bateman Alan.Bateman at oracle.com
Mon Nov 19 09:52:02 UTC 2012


On 15/11/2012 15:50, Staffan Larsen wrote:

I now have some micro-benchmark numbers on windows and linux (the solaris runs are not complete yet). While doing these runs we initially saw a regression on the file reading benchmarks. Investigation showed that the compiler was not able to inline the IoTrace.xxBegin() and IoTrace.xxEnd() methods because the IoTraceContext class in the signature had not yet been loaded. This forced me to go back to just an Object in the signatures for these methods which allowed them to be inlined and performance restored. Thanks for creating a set of micro-benchmarks and reducing the concern about this instrumentation.

I guess you saw the review request from Nils where he proposed adding invasive instrumentation to Throwable. The consensus in the replies was that bytecode instrumentation seemed more appropriate. Aside from the path field that you've added to the streams classes, is there any reason why the I/O instrumentation couldn't also be done with bytecode instrumentation?

-Alan



More information about the core-libs-dev mailing list