Excelsior Logo Excelsior Logo
Company Products Services Resources Contact
Store Buy    Download Download    Support Support    Forum  Forum    Blog  Blog   
Search
 Search   
Sitemap
 Sitemap   
Request a Call  Request a Call   

Excelsior JET Benchmarks

Jack Andrews' JNI Benchmark

We used the JNI benchmarking program written by Jack Andrews for his article Interfacing Java with Native Code: Performance Limits:

    We need to move large volumes of data from Java to native code. Our problem is that JNI is a large overhead and we cannot reduce it. We have tried a number of different ways of moving data from the VM to native code, and here we present benchmarks for these techniques. In summary, our techniques were: fine grained (atomic values and primitive arrays are passed through JNI), coarse grained (data is packaged into an object array for one JNI call), byte packed (values are encoded into a byte array) and we even tried passing data over a socket using the byte packing technique.
    ...

Download and installation instructions for this benchmark may be found at http://www.str.com.au/jnibench/, section "Running the Benchmark".

SYSTEM CONFIGURATION

CPU:Intel Pentium IV with HyperThreading running at 2.40 GHz
RAM:512 MB
OS: Windows 2000 Professional
Video:RADEON 9200 SE 64MB at 1024x768x16777216c

RESULTS

The result for each of the benchmarks is the number of data rows transmitted per second. Longer bar means better performance.

JET HSC HSS BEA JET HSC HSS BEA
BytePackedJNIRC 69099 69598 86111 88542 99% 100% 124% 127%
CoarseGrainedJNIRC 177411 58067 75002 82919 306% 100% 129% 143%
FineGrainedJNIRC 136299 65233 72126 89948 209% 100% 111% 138%
JavaRC 224219 237369 295801 330538 94% 100% 125% 139%
SocketRC 52062 38290 58409 59109 136% 100% 153% 154%
Average: 169% 100% 128% 140%

SYSTEM CONFIGURATION

CPU:AMD Athlon XP running at 1.0 GHz
RAM:512 MB
OS: Windows 2000 Advanced Server
Video:S3 Virge DX/GX at 1024x768x16777216c

RESULTS

The result for each of the benchmarks is the number of data rows transmitted per second. Longer bar means better performance.

JET HSC HSS BEA JET HSC HSS BEA
BytePackedJNIRC 84400 71800 86957 88745 118% 100% 121% 124%
CoarseGrainedJNIRC 166411 53824 73477 70669 309% 100% 137% 131%
FineGrainedJNIRC 132358 65855 78201 83374 201% 100% 119% 127%
JavaRC 201722 165312 194766 226131 122% 100% 118% 137%
SocketRC 18169 17106 18258 20151 106% 100% 107% 118%
Average: 171% 100% 120% 127%

Home | Company | Products | Services | Resources | Blog | Contact | Request a Call

Site: Search | Sitemap | Forum | Credits

© 1999-2007 Excelsior LLC. All Rights Reserved.