Customers




Developers Resources

Blog

05.02.2010 /Wp64 switch and template processing error
While maintaining the analyzer Viva64 (included into PVS-Studio) we often comment upon the switch /Wp64 of Microsoft Visual C++.»

03.02.2010 Parallel notes N1 - OpenMP technology
In the next few posts we will tell you about using multi-core processors in practice.»

29.01.2010 64-bit technologies - one more trend in the modern software
In the blogs and forums, there is much discussion of multi-core processors as an evident step of computer system development.»

Blog RSS

News

2.02.2010 "Lessons of 64-bit C/C++ software development" are now available on our site.»

1.02.2010 PVS-Studio 3.45 New Version Released!»

21.01.2010 PVS-Studio 3.44 New Version Released!»

News RSS

Articles

10.12.2009 PVS-Studio FAQ
This paper contains some questions and answers about PVS-Studio code analyzer by OOO "Program Verification Systems".»

09.12.2009 VivaCore FAQ
This paper contains some questions and answers about VivaCore C/C++ code analysis library by OOO "Program Verification Systems"»

23.11.2009 PVS-Studio: using the function "Mark as False Alarm"
The article describes and demonstrates by an example the use of PVS-Studio 3.40 new function "Mark as False Alarm". »

Articles RSS

Bookmark and Share

WoW64

WoW64 (Windows-on-Windows 64-bit) is a subsystem of Windows allowing you to launch 32-bit applications on all the 64-bit Windows versions. Launching of obsolete 16-bit applications on 64-bit Windows systems is impossible.

Wow64 subsystem emulates 32-bit environment with the help of an additional layer between a 32-bit application and 64-bit Windows API. In some places this layer is rather thin and in others it is not. For an average program presence of this layer will cause performance loss of about 2%. For some programs it can be greater. 2% is not much but you should take into account that 32-bit applications operate much slower under a 64-bit version of Windows operation system than under a 32-bit one.

Compilation of 64-bit code does not only exclude the necessity of WoW64 but also provides an additional performance gain. It is explained by architectural alterations within the microprocessor such as increase of the number of common-purpose registers. For an average program you can expect a 5-15% performance gain after simple recompilation of the program.

An additional performance gain can be achieved when using 64-bit data types. Viva64 static code analyzer can help you here. Although its main purpose is searching errors in 64-bit code, still you can increase a program's operation rate following its recommendations.

References

  1. Wikipedia. WOW64.
  2. Blog of Alexey Pahunov who is Microsoft's worker and who participates in development of WoW64 subsystem
  3. Optimization of 64-bit programs
  4. Development of Resource-intensive Applications in Visual C++


Powered by RSDN Authoring Pack