The speed of exception handling !?!
Christoph.Kulla at tu-clausthal.de
Wed Apr 8 07:40:57 PDT 1998
Tim Wilkinson <tim at transvirtual.com> writes:
> Seems to me that the thing to do is not so much fixup findMethodFromPC
> (though this would undoubtable help) but to avoid calling it in the
> first place. At the moment an exception constructs an array of
> character strings to hold the backtrace (rather like how Sun's JVM does
> it I believe). This is basically stupid - instead you should build an
> array of Method/PC pairs (or for the JIT just PC's) and only construct
> the textual backtrace on demand.
The excpetion catching code is still very slow (10 times slower thans Suns
JVM). The problem is still findMethodFromPC(). Profiling my massive exception
throwing sample code shows that the kaffe runs for 83% findMethodFromPC(). I
take a quick look at findMethodFromPC(). Isn't it possible to impelment a
method/class table orderd by pcs? A method lookup could than be implementet
via a binary search. Sorry, but I can´t implement this by my own due to the lack
of knowlodge of the Kaffe source code (there is no documentation about the
internals). The speed of exception handling is very important to me, and so
kaffe is currently useless for me. Hope this will change...
More information about the kaffe