Java with PERC 2x Faster than Java with C

Aonix(R), the provider of the PERC product line for embedded and real-time Java developers, demonstrates that an all Java code solution executing with PERC Ultra and PERC Pico outstrips an equivalent Java program that uses C code for computing-intensive algorithms. The demonstration reveals that low-level Java code executing in the PERC Pico environment runs at a speed comparable to an equivalent low-level C program. In addition, the demonstration shows that PERC Pico provides a 200% performance improvement over C when used in hybrid applications where complex functionality is written with standard Java code and libraries, while high throughput functionality is written in C.

The Aonix demonstration features a computation-intensive fractal program with the fractal rendering implemented in either C or PERC Pico compliant Java code. In both cases, the graphics display is programmed in Java with an SWT graphics interface. The all-Java performance boost revealed by the demonstration is a benefit of the cleaner integration offered by PERC between high- and low-level Java code. The all-Java solution clearly shows the inefficiency introduced by the Java Native Interface (JNI) required to integrate between high-level Java code and low-level C code.

“Marshalling data between Java and C introduces performance overhead, and the JNI interface compromises the Java security model resulting in programming errors,” said Kelvin Nilsen, Aonix CTO. “This weakness coupled with the fact that C programming itself is less secure, less portable, and less scalable than Java illustrates the weakness of such a solution. PERC Pico eliminates that weakness, providing an ‘all Java code’ solution for high performance, complex embedded applications.”

PERC Pico is the first development environment for Java developers truly geared toward the creation of resource-constrained and deeply embedded hard real-time applications and components. One of the design goals for PERC Pico was to offer the means for developers to write high-performance applications using only Java code to eliminate the need to resort to less reliable and less productive C code. Because PERC Pico overcomes the performance limitations inherent in traditional Java VMs, engineers are no longer forced to use C code for low-level and computation-intensive programming that leads to a number of problems ranging from reduced programmer productivity to higher error rates.

The PERC Pico programming model allows developers to write their code in Java and compile it with standard Java compilers. PERC Pico code executes unchanged on traditional Java virtual machines such as Sun HotSpot. However, the more rigorous memory model and execution engine used by PERC Pico supports the possibility of execution throughput comparable to C code. Thus, for the first time, developers have the opportunity to experience the benefits of an all Java code solution without sacrificing performance.

PERC Pico recently launched its first commercial release in March. The demonstration at Embedded Systems Conference takes PERC Pico one step further, using an optimized PERC Ultra / PERC Pico interface that will become available with a subsequent release later this year. The next release of PERC Pico, scheduled for Q3, will also feature many substantial performance optimizations benefiting both throughput and footprint.

Designed as a profile of the Real-Time Specification for Java (RTSJ), PERC Pico can be used in either with an RTOS kernel or in a stand-alone configuration on bare target boards where footprint and execution speed are at a premium. In an RTOS-based configuration, PERC Pico can also be used together with the PERC Ultra virtual machine in an RTOS environment. This dual configuration is ideal for complex embedded applications where developers need to combine high levels of functionality and productivity with access to low-level devices, deterministic response, and high throughput. The PERC Ultra virtual machine offers rich J2SE(TM)-based capabilities and predictable garbage collection, while PERC Pico provides the low-level access and small latencies that are often required.

Shipping and Availability
PERC Pico 1.0 is available now for Windows and Linux/x86 platforms and is readily portable to all major processor architectures for both RTOS and bare-board platforms. PERC Pico development tools are available with flat project-based pricing starting at $25,000 for an unlimited number of developers. PERC Pico has been available in pre-commercial form since January, 2006.

About Aonix(R)
Aonix offers mission- and safety-critical solutions primarily to the military and aerospace, telecommunications and transportation-related industries. Aonix delivers the leading high-reliability, real-time embedded virtual machine solution for running Java(TM) programs deployed today and has the largest number of certified Ada applications at the highest level of criticality. Headquartered in San Diego, CA and Paris, France, Aonix operates sales offices throughout North America and Europe in addition to offering a network of international distributors.

Aonix and PERC are registered trademarks and trademarks of Aonix. Java(TM) and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.