ML Reference
MeVis/Foundation/Sources/MLUtilities/mlCompilerOptimizations.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //-------------------------------------------------------------------------
00007 
00012 //-------------------------------------------------------------------------
00013 #ifndef __mlCompilerOptimizations_H
00014   #define __mlCompilerOptimizations_H
00015 
00016   //#define ML_ACTIVATE_COMPILER_SPEED_OPTIMIZATION
00017 
00018   #ifdef ML_ACTIVATE_COMPILER_SPEED_OPTIMIZATION
00019     #ifdef WIN32
00020       // Enable global and other optimizations on WIN32.
00021       // This requires most recent service packs for VC6.
00022       #pragma optimize("t",on)   // Prefer fast code
00023       #pragma optimize("g",on)   // Enable global optimization
00024 
00025       // Optimizations on VC8 or higher
00026       #if _MSC_VER > 1300
00027         // Disable security checks in STL.
00028         #ifdef _SECURE_SCL
00029           #undef _SECURE_SCL
00030         #endif
00031         #define _SECURE_SCL 0
00032         
00033         //#pragma optimize("O2",on)  // Enable global optimization
00034         //#pragma optimize("Ot",on)  // Prefer fast code
00035       #endif
00036 
00037       // Activate the following optimizations on VC6 and VC7
00038       #if _MSC_VER <= 1300
00039         #pragma optimize("d",off)  // Disable debug
00040         #pragma optimize("i",on)   // Activate intrinsic functions
00041         #pragma optimize("p",on)   // Improve float consistency
00042         #pragma optimize("x",on)   // Complete optimization
00043         #pragma optimize("b2",on)  // Inline function expansion
00044         #pragma optimize("2",on)   // Maximize speed
00045         #pragma optimize("y-",on)  // Maximum optimization with EBP-based addressing by omitting frame pointers
00046       #endif
00047     #endif
00048   #endif
00049 #endif
00050