[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