We are excited to announce the release of Codee 1.5, which further improves the capabilities of our static code analyzer specifically designed to boost the performance of C/C++/Fortran applications.
Codee 1.5 features a new “auto” mode that helps improve vectorization efficiency. It consists of a simple two-step process: first, use pwreport screening report to identify vectorizable loops in the source code; and second, use pwdirectives to automatically annotate the vectorizable loops with pragmas that the compiler uses to produce vector executable code. The MBedTLS AES encryption algorithm now runs 20% faster by using Codee in combination with the GCC compiler.
Codee 1.5 brings more sophisticated capabilities to detect temporary arrays inside loops. Existing compilers often under optimize the performance of this type of loops due to data dependence analysis limitations. From the user perspective, Codee is a perfect complement to the compiler: Codee provides more sophisticated source code detection capabilities and compilers generate efficient binary code for the target hardware architecture.
The open catalog of performance optimization best practices has been extended with two new recommendations to improve the quality of Fortran source code by disabling the implicit declaration of variables ([PWR007]) and by declaring the intent of each procedure parameter explicitly ([PWR008]).
Codee 1.5 features improved support for Windows and for Microsoft Visual Studio’s programming environment as well. This is an increasingly important requirement from Codee users. Thus, now the compilation flags are interpreted for MSVC by default on Windows. This behavior can be tuned with the new “–driver-mode” option.
We will be happy to meet with you to show you a demo or reply to your questions!