FAQ : 64-bit Support : Q: Is VA Smalltalk 64-bit faster than 32-bit?
Q: Is VA Smalltalk 64-bit faster than 32-bit?
There is a common misconception that porting to 64-bit means your application is guaranteed to run faster.
The answer to "Is VA Smalltalk 64-bit faster than 32-bit?" is that it depends on the application. This isn't a very satisfying answer, but we can look at a few different angles to see why this is so.
In the general case, we can expect that a VA Smalltalk application should have roughly the same performance when run as 32-bit or 64-bit. Keep in mind there are simply more bits being shuffled around the memory architecture of the machine, and this isn't free.
However, it is nearly impossible to specify any "general case" for software. There are a number of situations in which the 64-bit version may be considerably faster or slower than the 32-bit version.
For instance, if the 32-bit version of the application is constantly running up against the process memory limit, this means that the memory manager (i.e. Garbage Collector) is running continually trying to free up every last byte for the application to use. This, undoubtedly, is causing performance issues for the 32-bit application. If that same application were run on the 64-bit virtual machine, performance would be expected to increase dramatically simply based on the fact that the memory pressure had been relieved.
Another reason for better performance has to do with the fact that 64-bit machine architecture is not necessarily just a larger reflection of 32-bit machine architecture. Compared to the x86 architecture, the x86-64 architecture does not just have double wide registers. It also has dramatically more CPU registers accessible to programs. This has an impact on the performance of the virtual machine implementation as the extra registers allow for additional optimizations that certain code in VA Smalltalk 64-bit would benefit from. Examples here include integer or float operations and certain specialized byte codes.
Is VA Smalltalk 64-bit faster than 32-bit? In order for this to be a valid question, we would have to reword it to ”Is VA Smalltalk 64-bit faster than 32-bit in your application?” The only definitive answer is to try it and find out.
Last modified date: 09/27/2017