[E-Lang] Reflection invoke() timing measurement

Chip Morningstar chip@fudco.com
Wed, 18 Jul 2001 22:25:36 -0700 (PDT)


MarkM requests:

>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.

Your wish is my command:

Processor                          JDK 1.3.0_02         JDK 1.4.0-beta-b65
---------                          ------------         ------------------
350Mhz SPARC (Solaris 5.7)                 19.7                       10.3
600Mhz Pentium III (Red Hat 7.0)            7.0                        3.5

Times in microseconds averaged over about 20 runs of each.

Looks to me like a significant improvement alright.

(Since I've been performance tuning some compute-intensive Java code
lately, including some somewhat invoke-intensive stuff, I was pretty
motivated to try this.)