Profiling a Truffle language

Gerard Krol gerard at gerardkrol.nl
Sun Jul 31 09:45:43 UTC 2016


Hi,

The benchmark "Fannkuch" runs correctly using Cover[1], but it is about 10x
as slow as I'd like it to be (and much slower than "Mandelbrot"). I've
taken a look at the disassembly and there are a lot of calls to java
functions left. It's a bit hard to see with all the jumps ;)

The graph viewer is very interesting, but so many nodes are generated that
I can't really figure out what's going on there either. I'm assuming that
it's not too much of a problem if some calls won't get inlined, as long as
those are not in the slow path.

What I'd like to have is a simple profiler (preferably one using sampling),
that will point me to the actual slow statements in the source program. Is
something like that available or will I have to write something myself? In
the last case, I suppose I should be using the the Truffle Instrumentation
API[2]?

Regards,

Gerard

[1] https://github.com/gerard-/cover
[2] https://wiki.openjdk.java.net/display/Graal/Instrumentation+API


More information about the graal-dev mailing list