[E-Lang] Reflection invoke() timing measurement

Mark S. Miller markm@caplet.com
Wed, 18 Jul 2001 20:23:34 -0700


At 05:56 PM Wednesday 7/18/01, Michael Malcolm wrote:
>Mark Miller asked me to post my measurement of the java reflection
>invoke() method. In summary, using Java 1.3 on a 350MHz PentiumII
>machine, each invoke call took a bit more than 5.5 microseconds, or
>nearly 2000 machine cycles.

Thanks!

Once we have an E-to-JVM-bytecode compiler and have picked various 
performance low hanging fruit, we may very well find reflective invoke() to 
be our bottleneck.  Reflective invoke() is fundamental to mapping E 
computation onto  the JVM.  Fortunately, Sun says their JDK 1.4 
implementation does reflective invoke() much faster, but I haven't seen a 
quantification of "much faster".  If someone would care to try Michael's 
code on a JDK 1.3 and 1.4 on the same hardware and report the ratio, I'd 
sure appreciate it.


        Cheers,
        --MarkM