RFR: 8003322: Add instrumentation points for tracing of I/O calls
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
More information about the core-libs-dev