Embedded Studio for Windows: 64-bits vs. 32-bits

SEGGER Embedded Studio is available for all major operating systems, Windows, Mac OS X, and Linux. For Linux, a 64-bit build has been available for some time and as of now, a 64-bit executable is also available for Windows.

Why should I use a 64-bit executable?

Current CPUs natively support 64-bit and most users use the 64-bit version of their operating system for good reasons. With 64-bit support, applications can take advantage of all the memory in a machine, even if it is more than the 4GB that can be addressed with 32-bit address space. It also allows a single application to efficiently allocate and use this memory. But there is also a performance aspect to this: Modern Intel/AMD CPUs have more registers in 64-bit mode. In legacy x86 mode (IA32), 8 32-bit registers are available. In 64-bit mode, 16 64-bit registers are available, which allows the compiler to generate more efficient code in a lot of cases.

On 64-bit distributions of Linux, the support for 32-bit applications is limited or requires the installation of 32-bit libraries. Windows handles the 32-bit compatibility well by default. For this reason we had both, the 32-bit and a 64-bit builds for Linux, but not for Windows. We simply did not see a need for it under Windows, as 32-bit executables can be used without a problem in any 32 or 64-bit Windows OS.
It turned out that the Linux 64-bit build is extremely fast, especially when it comes to compiling the target program, so we decided to test a 64-bit build for Windows.
It turned out the gain in performance is in the range of 5-20%. Not as much as we expected based on the difference we saw under Linux, but still a nice gain especially for larger projects.

Embedded Studio is already one of the fastest tools in every aspect, startup and load, project build, and debugging. Still, decreasing the project build time of a project from 34 to 29 seconds may not be much for building once, but in development you may build and re-build projects several times a day and will be happy to spend less time waiting for results.

Try it out yourself!

You can install both versions (32-bit and 64-bit) on the same machine (assuming of course that you are running a 64-bit Windows). All features of Embedded Studio can be used without limitation for non-commercial use or evaluation.

Coming up next:
I plan to go into more detail and compare performance of Windows, Mac and Linux in 32-bit and 64-bit modes. Stay tuned.

xkcd: Compiling

Image: Randall Munroe | xkcd.com