Wednesday, 22 November 2006

PostHeaderIcon Excelsior JET Case Study

Excelsior the makers of JET - a native code compiler for Java - recently asked me to do a case study on how I use Excelsior Jet and especially my thoughts on the JRE size reduction. I have reprinted it below or you can see the original by using this link:
Excelsior JET Case Study - The Nuaire Group Fan Selector

The Nuaire Group Fan Selector

Excelsior JET Case Study

The Nuaire Group is a ventilation manufacturer who designs and builds ventilation products for distribution around the world. The range and variation of fans manufactured runs into many thousands of different units so with conventional catalogues it's not possible to show every product clearly with full technical details. Nuaire developed their Fan Selector program to make it easy to select the best fan for a given project and to print out detailed fan specific technical data sheets. The program was developed as a Java/Swing application and is used internally throughout The Nuaire Group and is distributed freely to engineers and consultants.

The first release of the program used Sun's 1.3 JRE and there were a number of issues that needed addressing, these included:

  • problems deploying the application
  • the size of the download with the JRE included(this was before the widespread uptake of broadband)
  • the slow start up times associated with Java applications
  • general performance issues on lowly specified PCs

With this first release the user was requested to install a Java Runtime Environment before installing the Fan Selector application, which caused confusion for many users and problems for some as each micro revision of the JRE could behave slightly different to its predecessor. So the decision was taken to redistribute a known working JRE packaged within the Fan Selector. This of course added many megabytes to the download size.

With successive releases of the Sun JVM and the ever increasing power of modern PCs the performance issues have become less relevant but because the 1.4 and 1.5 JRE's have a larger disk space footprint we continued to distribute the application with the 1.3.1 JRE. This meant we couldn't make full use of the performance improvements or indeed any of the other new features added to the Java language.

We evaluated Excelsior JET 4.0 Standard and were instantly impressed by the performance gains it produced. Start up time was quicker and the overall feel was that of a more responsive, slicker program. We also had the added benefits of being able to use the latest Java 1.5 enhancements and the protection from decompilation of our jars.

The only disadvantage we had with our JET 4.0 Standard compiled distribution was the increase in package size due to the use of the larger 1.5 runtime instead of the older, smaller 1.3.1 JRE we were using. It was felt though that the increase in package size was a reasonable trade off against the other benefits that using JET offered - especially in these days of high speed broadband access. However, after releasing a new version of the application and having many more users than usual download it over the course of a few days we soon hit bandwidth limits imposed by our ISP.

With Excelsior JET 4.5 Professional when used with JetPackII to package the application the package size has reduced considerably, the application also appears to run quicker than the JET 4.0 Standard compiled version. I wouldn't hesitate in recommending Excelsior JET 4.5 to anyone who distributes a Java application.

The following table shows the relative sizes of our application when built with a redistributed JRE or Excelsior JET.

  Package Size (MB) Hard Disk Footprint (MB)
Internationalized JRE 1.3.1_16.
Packaged with InstallShield
16 39
JRE 1.5.0_06.
Packaged with InstallShield
26 69
JET 4.0 Standard.
Packaged with InstallShield
27 67
JET 4.5 Professional.
Packaged with JetPackII
18 64


Post a Comment


Recent Twitter Posts

    Follow garylynch on Twitter

    Table of Contents (Last 25)

    If You're Looking for a Read

    "Jan, Ste & Gary's
    Bogus Journey 1992/3"
    A year in the life of a piss 'ed!
    [ click here ]

    Subscribe via email

    Enter your email address:

    Delivered by FeedBurner

    Site Stats