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   

Quick Screen Trading

Excelsior JET Case Study

By: Artur Olar
Software Engineer
Computer Voice Systems

In the last two years we were using Excelsior JET Pro to compile our Swing based application. This is a very useful tool with a serious impact on how the application behaves on the Windows platforms.

Fig 1. QST-devel (click to enlarge)

Deployment

When deploying the HotSpot version, you have three choices: to make an installation kit without the JRE, to make an installation kit that includes the JRE, or to use Java Web Start and control the JRE version from the JNLP descriptors. The advantage of the first solution is a reduced installation kit, but it assumes you already have the adequate JRE installed on the target machine. The second solution is safer, as it can install the JRE if needed, but it also have the disadvantage of a large size kit and is not cross-platform. The third solution is the best, as the JNLP won't run if you do not have the correct JRE installed and it will execute on any platform. We are using it for most of our clients.

Some of the users are non-technical though, and when asking them to install a certain JRE before deploying our application, even when we provide them with the direct link for download, they are not very happy. For these users the best solution will be an all-inclusive kit. This means an .exe that you are running once, and it will install everything is needed. You can pack the JRE along the jars, or as long as you have to make an .exe which will run only on Windows and you lose the cross-platform advantage of the HotSpot, why not going all the way and deploy a compiled version of the application that will run only on Windows, bringing all the advantages of a native application? We did this and used Excelsior JET to compile the Windows version of our app. It proved to be a very good decision.

Performance

Our application is one of the bigger Swing based projects out there. It allows the user to load an unlimited number of frames, some of them with a large content, to save those frames and to load them upon the next login. So when the settings are large, the loading process takes a long time. This can be used as a benchmark to compare the Excelsior JET version versus the HotSpot version of the same application. Here are some results:

Test Excelsior JET HotSpot
1 61s 82s
2 60s 74s

For many users, most of the frames are Chart frames. We can apply an unlimited number of studies upon these charts. Some of the studies are very complex, taking a long time to compute their values. So we can create a benchmark based on these complex studies, and see how the two versions behave when changing the chart (which means recomputing all the studies in that frame). Here are some results:

Test Excelsior JET HotSpot
1 4s 6s
2 3s 4s

You can see from these benchmarks that the Excelsior JET version is faster.

Overall the application is much more responsive in the Excelsior JET version. Any user action has an immediate effect without any delay. The memory usage grows fast in Excelsior JET, but after a while it is released to a point where it occupies less memory than the HotSpot version. Here are some comparative results:

Test Excelsior JET HotSpot
1 128M 131M
2 125M 127.2M

As a conclusion, the Excelsior JET version is better for the low or medium end machines where any bit of performance is important.

About the application

Quick Screen Trading is a revolutionary futures trading application that combines comprehensive, fast and flexible order entry/order management with world-class charting and analytics, real-time quotes, and news.

Test system configuration

Computer:
AMD Athlon(tm) XP 2600+
1.91 GHz
1.00 GB of RAM

Operating System:
Microsoft Windows XP Professional
Version 2002 Service Pack 1

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

Site: Search | Sitemap | Forum | Credits

© 1999-2007 Excelsior LLC. All Rights Reserved.