[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Does 32 bit application run faster on 64 bit?

Posted on 2011-04-20
16
Medium Priority
?
632 Views
Last Modified: 2013-11-29
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?
0
Comment
Question by:abhiam
  • 4
  • 2
  • 2
  • +6
14 Comments
 
LVL 17

Expert Comment

by:Sikhumbuzo Ntsada
ID: 35438706
32 bit will only utilise the 32 bit bus on your hardware, it cannot see anything else, so you are correct.
0
 
LVL 88

Expert Comment

by:rindi
ID: 35438749
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
 

Author Comment

by:abhiam
ID: 35438841
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
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

 

Author Comment

by:abhiam
ID: 35438849
@Santasi24, please can you elaborate more?
0
 

Author Comment

by:abhiam
ID: 35438857
Also my current application is written in Java.
0
 
LVL 1

Expert Comment

by:Rehman_itends
ID: 35439264
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
 

Author Comment

by:abhiam
ID: 35439306
@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
 
LVL 7

Accepted Solution

by:
CSI-Windows earned 100 total points
ID: 35439481
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
 
LVL 1

Expert Comment

by:Rehman_itends
ID: 35439514
Hi abhiam,

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

0
 
LVL 12

Expert Comment

by:John Griffith
ID: 35439912
x86 apps are subject to x86 limitations when running under x64.

Could be the hardware is faster.
0
 
LVL 7

Expert Comment

by:CSI-Windows
ID: 35440051
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
 
LVL 10

Assisted Solution

by:LMiller7
LMiller7 earned 100 total points
ID: 35443341
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
 

Expert Comment

by:onlinecsr
ID: 35701438
Can you advise on the application? 64 bit allow for more RAM usage, but depending on the application, it could actually run slower.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 36042081
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article shows how to use a free utility called 'Parkdale' to easily test the performance and benchmark any Hard Drive(s) installed in your computer. We also look at RAM Disks and their speed comparisons.
This article is about my experience upgrading my consulting machine to Windows 10 Version 1709 (The Fall 2017 Creator Update)
Windows 8 came with a dramatically different user interface known as Metro. Notably missing from that interface was a Start button and Start Menu. Microsoft responded to negative user feedback of the Metro interface, bringing back the Start button a…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question