Does 32 bit application run faster on 64 bit?

I have a 32 bit application which in memory and CPU intensive. If I deploy it on 64 bit server then will it run faster?

My understanding is that for any application to exploit 64 bit tech has to be specifically written for 64 bit. A mere deployment of old 32 bit on to 64 bit will not help.

Is my understanding correct?
abhiamAsked:
Who is Participating?
 
CSI-WindowsConnect With a Mentor Commented:
You have clarified that your application is not only CPU intensive, it is Memory intensive - so you *may* have a good candidate for performance improvement.

Keep in mind 64-bit EXEs are larger - so the entire OS memory foot print is larger and any true 64-bit software is larger - so unless you boost memory significantly, you may not see a gain.  If you go from a 3 GB 32-bit system to a 4 GB 64-bit system you many not see much increase.

You will want to download the 64-bit JVM and run the application to see if it automatically has more resources available (or if re-coding is needed).  http://www.java.com/en/download/faq/java_win64bit.xml

There is a way to test this, presuming you have an existing machine with enough memory (8 GB) and 64-bit capability (most do).

VMWare Workstation can run a 64-bit VM on a 32-bit Host OS as long as the hardware is 64-bit capable (more is explained here: http://csi-windows.com/about/64-bit-vms-on-32-bit-os).

A fully accurate benchmark would require that you create a VM guest with 32-bit OS and 32-bit Java and do a baseline test - gives you performance as per the virtual environment.  Next do a 64-bit OS and test with both 32-bit Java and 64-bit Java.

Without the baseline it is challenging to get an apples to apples comparison - if you do a VM on the existing machine, you have the VM overhead in memory and a slight bit of performance.  If you do a strictly 64-bit VM on new hardware, you have all the benefits of upgraded hardware that may appear as "64-bit" advantages.
0
 
Sikhumbuzo NtsadaSenior IT TechnicianCommented:
32 bit will only utilise the 32 bit bus on your hardware, it cannot see anything else, so you are correct.
0
 
rindiCommented:
If the Server OS is 64bit, it should in theory run a little more efficiently, as the server's processes run at 64bit which will free up some resources for the 32bit app. But probably the difference won't really be noticeable.
0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

 
abhiamAuthor Commented:
Surprisingly there is an example of another system which upon upgrading to 64 bit now runs much more efficiently! I just don't know whats the secret.
Old 32 bit server RAM = new 64 bit server RAM
old 32 bit server 4 CPU < new 64 bit server 6 CPU
0
 
abhiamAuthor Commented:
@Santasi24, please can you elaborate more?
0
 
abhiamAuthor Commented:
Also my current application is written in Java.
0
 
Rehman_itendsCommented:
32 bit architecture only supports minimal RAM,if u go with x64 bit it will use all component in the board,pls let me know for wat u require this details.
0
 
abhiamAuthor Commented:
@rehman, I have a java application (no db, just application) running of a 32 bit windows. The application runs in as many as 20 instances at a time and each instance creates approx 2000 handlers. This consumes lot of memory. Also CPU utilization is high. So I am wondering if it is moved to a 64 bit server of the same configuration then will it help to improve performance?
0
 
Rehman_itendsCommented:
Hi abhiam,

i got your idea!!!! can you pls tell me abt ur hardware?

0
 
John GriffithConsultantCommented:
x86 apps are subject to x86 limitations when running under x64.

Could be the hardware is faster.
0
 
CSI-WindowsCommented:
Should have also mentioned that you should check if any of these parameters (number of spawned instances or handlers) can be increased in a configuration file or the source code - then when running under a 64-bit Java runtimes you may be able to get better performance.

Seems like many comments are missing that you are running Java - unless there is a hardcoded dependency, the bitness of a Java application will be determined by the bitness of the Java runtimes it is running on.
0
 
LMiller7Connect With a Mentor Commented:
All else being equal, a 32 bit process should be faster on a 32 bit OS. This is because the 64 bit OS must emulate the 32 bit environment. A 32 bit OS cannot take advantage of most of the 64 bit OS's features. The problem is that all else is very rarely equal.

A 32 bit process that is large address space aware will have a 2 GB virtual address space on a 32 bit OS with default settings. This can be increased to 3 GB with some issues. In a 64 bit OS such a process will always have a 4 GB address space. Depending on the application type and memory availability this could noticeably improve performance.

A 64 bit OS can have a much larger and more efficiently managed system cache. How much better this will be depends on memory availability and other factors. With some application types this could improve performance considerably.

I am sure there are more examples.

It is a complicated question with no easy answers.
0
 
onlinecsrCommented:
Can you advise on the application? 64 bit allow for more RAM usage, but depending on the application, it could actually run slower.
0
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.