Jump to content
Excelsior Forums
Sign in to follow this  
qqxx2000

64 bit JET

Recommended Posts

Is there a plan for JET to support 64-bit Windows or Linux?

We have increasing requests from people using huge data that cannot be loaded in 32-bit memory space. We successfully got our program to run on 64-bit Windows and Linux with Sun JRE.  But we like to the performance gain from JET and also don't want to deliver the byte code directly.

Share this post


Link to post
Share on other sites
Is there a plan for JET to support 64-bit Windows or Linux?

Of course, we have such plans and we have been already working on 64-bit version of  Excelsior JET about a year (it's a huge task).

At this time, I cannot publish any release dates, though.

But we like to the performance gain from JET and also don't want to deliver the byte code directly.

Be prepared that pefromance may degrade on 64-bit platfrom due to some memory overheads  (e.g. if you compare performance of your application on the same computer).

Did you compare performance when using 32-bit and 64-bit JRE on the same computer?

Share this post


Link to post
Share on other sites

No, we haven't done any detailed cpu performance evaluation yet. Right now we mainly focus on solving the memory problem. So the difference between 32bit and 64bit for us is if the program can load the data or not. Our experiment on Linux 64bit didn't show noticeable performance loss though.

Share this post


Link to post
Share on other sites
So the difference between 32bit and 64bit for us is if the program can load the data or not.

It's clear.

We will notify you as soon as the first beta with support for x64 is available.

Share this post


Link to post
Share on other sites

As shown in "A Java Compiler Performance Study", by Jan-Jaap van Horssen (August 2008), http://www.excelsior-usa.com/jetcs00007.html, 64-bit systems (64-bit hardware with 64-bit software) can provide significant performance improvements.  In those results, it appears that the 64-bit system provided a performance boost of almost 70% over a 32-bit system and about 50% over a 32-bit system with software compiled with Excelsior Jet.  Of course, the results will vary depending on the application, but for some compute-intensive or memory-intensive applications, 64-bit systems can provide significantly improved performance.

Share this post


Link to post
Share on other sites

but for some compute-intensive or memory-intensive applications, 64-bit systems can provide significantly improved performance.

Memory intensive apps shouldn't benefit a lot, most improvements see apps which are very register starved, or operate a lot on 64-bit integers. We did some benchmarks here with real-world software, and in all cases performance in 64-bit mode was lower (when not using CompressedOops).

- Clemens

Share this post


Link to post
Share on other sites

> Memory intensive apps shouldn't benefit a lot

That depends on how large the data is.  If a memory intensive application operates on large data sets, then the benefit of a larger address space can be very great.  If an application has to do its own swapping to/from disk in order to avoid using an address space larger than is supported in a 32-bit system, performance can be significantly reduced.  A 64-bit system opens up a much larger address space for memory intensive applications.

Share this post


Link to post
Share on other sites

Unfortunately, the size of L1, L2,L3 cache (which is often crucial for performance) is NOT doubled in the 64-bit mode.  B)

And more data are actually read from memory due to alignment requirements and using 64-bit pointers thus inreasing pressure on the memory subsystem (the known "short pointers" optimization is not silver bullet)

This degradation was observed on both .NET runtime and Sun HotSpot when running the same tests on the same machine in 32- and 64-bit mode. Of course, that appears not for all applications.

In general, the main value of 64-bit systems is breaking the 4GB address space limit.

Of course, the results will vary depending on the application, but for some compute-intensive or memory-intensive applications, 64-bit systems can provide significantly improved performance.

Basically, that's true for (integer) number crucnhing apps and the like due to a larger number of CPU registers.

Share this post


Link to post
Share on other sites

Many of our customers are now switching to 64-bit versions of Windows.

It does not matter why they are doing so, but we are now unable to provide them with functioning versions of our applications.

We are being pressured to tell them when 64-bit support will be available, but we are reliant on Excelsior for this.

Please advise when a 64-bit version of JET will be available.

Share this post


Link to post
Share on other sites
Many of our customers are now switching to 64-bit versions of Windows.

It does not matter why they are doing so, but we are now unable to provide them with functioning versions of our applications.

Probably, you use an outdated version of Excelsior JET.

Java applications compiled with the latest Excelsior JET 6.5 work without problems on 64-bit Windows systems (we use them in testing on regular basis)

Share this post


Link to post
Share on other sites

You mean they can run the 32-bit compiled code on a 64-bit system, but most users who are switching to 64-bit systems are doing so because they want and need to run 64-bit applications.  Is there any word on the long promised 64-bit compiler?

Many of our customers are now switching to 64-bit versions of Windows.

It does not matter why they are doing so, but we are now unable to provide them with functioning versions of our applications.

Probably, you use an outdated version of Excelsior JET.

Java applications compiled with the latest Excelsior JET 6.5 work without problems on 64-bit Windows systems (we use them in testing on regular basis)

Share this post


Link to post
Share on other sites
You mean they can run the 32-bit compiled code on a 64-bit system, but most users who are switching to 64-bit systems are doing so because they want and need to run 64-bit applications.  Is there any word on the long promised 64-bit compiler?

I mean that

1. We did not test applications compiled with outdated versions of Excelsior JET on 64-bit systems. As a result, executables produced by Excelsior JET prior to version 6.0 did not work on 64-bit Windows and Linux at all

With the current Excelsior JET 6.5, everything works flawlessly

2. By default, the practically allowed heap size on 32-bit Windows and Linux is less than 2GB. If you run the same binary compiled with Excelsior JET on a 64-bit system, the heap size may be close to 4GB

3.  We understand the importance of 64-bit version of Excelsior JET for our customers whose applications may require larger heaps. That's why we are constantly investing our engineering resources in design and development of the port.

Is there any word on the long promised 64-bit compiler?

Please find my answer in this (duplicate) topic

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×