On Wed, Oct 28, 2009 at 11:20 PM, Alessio Stalla alessiostalla@gmail.com wrote:
The test might be wrong
It was, indeed, wrong. It measured class loading time too for reflection, but that can't be eliminated, no matter what instantiation technique you use.
New results on 50000 iterations:
REFLECTION: 9660480097 NEW: 88353767 % SLOWER: 10933
REFLECTION: 9602410291 NEW: 78459331 % SLOWER: 12238
REFLECTION: 9925574038 NEW: 86923015 % SLOWER: 11418
~100 times slower is still impressive.
I'm actually very impressed by your idea. I had a similar idea, but got stuck while trying to figure out how to call the static function. Your solution is - ofcourse - the only way to go!
I'm also very excited about the route you choose to go: I think I can implement this in one evening into the current code base: All that's needed is a change to loadCompiledFunction and the generation of a new method for each class file during the compilation phase somewhere in compiler-pass2.
Someone else might even be able to do it!
Bye,
Erik.