[Mono-list] profiling mono
Michael Meeks
michael@ximian.com
12 Nov 2002 11:44:39 +0000
Hi James,
On Mon, 2002-11-11 at 16:34, James Roberts wrote:
> To achieve such low overhead, we plan on using a
> statistical sampling process which will periodically
> interrupt the executing program and sample the running
> program's program counter. Currently, we plan on
> using OProfile for this part of the project.
Why ? The real usefulness of OProfile surely is for complete system
profiling, across kernel / user-space / cross-process and taking full
system call latencies into account.
Of course - none of this is that interesting wrt. improving the
performance of JIT'ing, ( though fairly interesting for system
optimisation ).
So it seems to me that instrumenting the generated code, and/or having
access to some sufficiently high-speed (better than itimer) timer, will
give you more joy. Especially since you really want to look at more of
the stack trace than the immediate PC gives you - [AFAICS PC
measurements are mostly useless for optimisation / esp. inlining ].
> So, what we would really like to have is some kind of
> mapping from the translated x86 instructions back to
> the original MSIL instructions from which those
> translated instructions arose.
Is that really necessary ? presumably you'd compile a complete method
at a time with your super optimiser ? inasmuch that compiling
sub-sections is presumably tough.
> How about mapping x86 functions back to MSIL methods?
Presumably that should be much more doable (portable), and unwinding
arguments possible as well - thus giving (perhaps) some useful
datapoints to an optimiser.
Hmm,
Michael.
--
mmeeks@gnu.org <><, Pseudo Engineer, itinerant idiot