From a40d58078206801acd385452ddbf40a04ad56843 Mon Sep 17 00:00:00 2001 From: Beman Date: Thu, 6 Jun 2013 08:00:28 -0400 Subject: [PATCH] Get 64-bit builds working. Update timings to reflect 64-bit build. --- doc/index.html | 69 +++++++---------- test/msvc2012/benchmark/benchmark.vcxproj | 75 +++++++++++++++++++ .../converter_test/converter_test.vcxproj | 71 ++++++++++++++++++ test/msvc2012/endian.sln | 44 +++++++++++ .../endian_example/endian_example.vcxproj | 64 ++++++++++++++++ .../endian_in_union_test.vcxproj | 66 ++++++++++++++++ .../endian_operations_test.vcxproj | 71 ++++++++++++++++++ test/msvc2012/endian_test/endian_test.vcxproj | 67 +++++++++++++++++ .../loop_time_test/loop_time_test.vcxproj | 71 ++++++++++++++++++ test/msvc2012/pair_test/pair_test.vcxproj | 65 ++++++++++++++++ .../scoped_enum_emulation_test.vcxproj | 64 ++++++++++++++++ test/msvc2012/speed_test/speed_test.vcxproj | 71 ++++++++++++++++++ .../udt_conversion_example.vcxproj | 65 ++++++++++++++++ 13 files changed, 822 insertions(+), 41 deletions(-) diff --git a/doc/index.html b/doc/index.html index a134079..b15f712 100644 --- a/doc/index.html +++ b/doc/index.html @@ -259,10 +259,10 @@ big_endian(x); -

There will be no performance difference between the two approaches, -regardless of the native endianness of the machine. Optimizing compilers will likely +

There will be no performance difference between the two approaches, +regardless of the native endianness of the machine. Optimizing compilers will likely generate exactly the same code for both. That conclusion was confirmed by -studying the generated assembly code.

+studying the generated assembly code for GCC and Visual C++.

Now consider a slightly different problem: 

@@ -377,55 +377,42 @@ setup. Endian
type
Endian
conversion
function
-16-bit aligned big endian2.18 s0.83 s -16-bit aligned little endian0.81 s0.83 s -16-bit unaligned big endian1.64 s0.83 s -16-bit unaligned little endian1.64 s0.83 s -32-bit aligned big endian0.83 s0.81 s -32-bit aligned little endian0.83 s0.81 s -32-bit unaligned big endian3.01 s0.83 s -32-bit unaligned little endian3.01 s0.81 s -64-bit aligned big endian1.09 s1.05 s -64-bit aligned little endian0.83 s1.03 s -64-bit unaligned big endian12.64 s1.01 s -64-bit unaligned little endian8.41 s0.83 s +16-bit aligned big endian0.83 s0.51 s +16-bit aligned little endian0.51 s0.50 s +16-bit unaligned big endian1.37 s0.51 s +16-bit unaligned little endian1.37 s0.50 s +32-bit aligned big endian0.81 s0.50 s +32-bit aligned little endian0.51 s0.51 s +32-bit unaligned big endian2.98 s0.53 s +32-bit unaligned little endian3.00 s0.51 s +64-bit aligned big endian1.33 s0.33 s +64-bit aligned little endian0.34 s0.27 s +64-bit unaligned big endian7.05 s0.33 s +64-bit unaligned little endian7.11 s0.31 s Iterations: 1000000000, Intrinsics: no byte swap intrinsics Test Case Endian
type
Endian
conversion
function
-16-bit aligned big endian0.84 s0.81 s -16-bit aligned little endian0.83 s0.81 s -16-bit unaligned big endian1.65 s0.81 s -16-bit unaligned little endian1.65 s0.83 s -32-bit aligned big endian3.46 s0.83 s -32-bit aligned little endian0.81 s0.83 s -32-bit unaligned big endian3.01 s0.81 s -32-bit unaligned little endian3.01 s0.81 s -64-bit aligned big endian10.50 s0.83 s -64-bit aligned little endian0.83 s0.97 s -64-bit unaligned big endian12.62 s0.81 s -64-bit unaligned little endian8.42 s0.81 s +16-bit aligned big endian0.83 s0.51 s +16-bit aligned little endian0.51 s0.51 s +16-bit unaligned big endian1.36 s0.51 s +16-bit unaligned little endian1.37 s0.51 s +32-bit aligned big endian3.42 s0.50 s +32-bit aligned little endian0.51 s0.51 s +32-bit unaligned big endian2.93 s0.50 s +32-bit unaligned little endian2.95 s0.50 s +64-bit aligned big endian5.99 s0.33 s +64-bit aligned little endian0.33 s0.33 s +64-bit unaligned big endian7.02 s0.27 s +64-bit unaligned little endian7.02 s0.27 s

Conclusions

-

When program logic dictates the same number of conversions for both Endian -integer approach and Endian conversion function approach (example -1):

- -
- -

There will be no performance difference between the two approaches, -regardless of the native endianness of the machine. Optimizing compilers will likely -generate exactly the same code for both. This conclusion was confirmed by -studying the generated assembly code.

- -
-

When program logic dictates many more conversions for the Endian integer approach than the Endian conversion function approach (example 2):

@@ -587,7 +574,7 @@ Tim Blechmann, Tim Moore, tymofey, Tomas Puverle, Vincente Botet, Yuval Ronen and Vitaly Budovski,.


Last revised: -28 May, 2013

+30 May, 2013

© Copyright Beman Dawes, 2011, 2013

Distributed under the Boost Software License, Version 1.0. See www.boost.org/ LICENSE_1_0.txt

diff --git a/test/msvc2012/benchmark/benchmark.vcxproj b/test/msvc2012/benchmark/benchmark.vcxproj index 51fcd8e..0fdaeae 100644 --- a/test/msvc2012/benchmark/benchmark.vcxproj +++ b/test/msvc2012/benchmark/benchmark.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {C9FEAE75-4DD9-44F5-B302-9910559A91BE} @@ -22,6 +30,12 @@ Unicode v110 + + Application + true + Unicode + v110 + Application false @@ -29,6 +43,13 @@ Unicode v110 + + Application + false + true + Unicode + v110 + @@ -36,21 +57,35 @@ + + + + + + + + true $(SolutionDir)$(Configuration)\ $(Configuration)\ + + true + false $(SolutionDir)$(Configuration)\ $(Configuration)\ + + false + @@ -68,6 +103,23 @@ Executing test... + + + + + Level3 + Disabled + BOOST_ALL_DYN_LINK;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + "$(TargetDir)\$(TargetName).exe" 10 -v + Executing test... + + Level3 @@ -91,6 +143,29 @@ Executing test... + + + Level3 + + + MaxSpeed + true + true + BOOST_ALL_DYN_LINK;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + AssemblyAndSourceCode + $(IntDir) + + + Console + true + true + true + + + "$(TargetDir)\$(TargetName).exe" 10000 -v + Executing test... + + diff --git a/test/msvc2012/converter_test/converter_test.vcxproj b/test/msvc2012/converter_test/converter_test.vcxproj index 0bc78b4..1b6009b 100644 --- a/test/msvc2012/converter_test/converter_test.vcxproj +++ b/test/msvc2012/converter_test/converter_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993} @@ -22,6 +30,12 @@ Unicode v110 + + Application + true + Unicode + v110 + Application false @@ -29,6 +43,13 @@ Unicode v110 + + Application + false + true + Unicode + v110 + @@ -36,21 +57,35 @@ + + + + + + + + true $(SolutionDir)$(Configuration)\ $(Configuration)\ + + true + false $(SolutionDir)$(Configuration)\ $(Configuration)\ + + false + @@ -67,6 +102,22 @@ Executing test... + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + Executing test... + + Level3 @@ -87,6 +138,26 @@ Executing test... + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + Executing test... + + diff --git a/test/msvc2012/endian.sln b/test/msvc2012/endian.sln index 066de40..3270d8b 100644 --- a/test/msvc2012/endian.sln +++ b/test/msvc2012/endian.sln @@ -26,51 +26,95 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {74C201F3-8308-40BE-BC0F-24974DEAF405}.Debug|Win32.ActiveCfg = Debug|Win32 {74C201F3-8308-40BE-BC0F-24974DEAF405}.Debug|Win32.Build.0 = Debug|Win32 + {74C201F3-8308-40BE-BC0F-24974DEAF405}.Debug|x64.ActiveCfg = Debug|x64 + {74C201F3-8308-40BE-BC0F-24974DEAF405}.Debug|x64.Build.0 = Debug|x64 {74C201F3-8308-40BE-BC0F-24974DEAF405}.Release|Win32.ActiveCfg = Release|Win32 {74C201F3-8308-40BE-BC0F-24974DEAF405}.Release|Win32.Build.0 = Release|Win32 + {74C201F3-8308-40BE-BC0F-24974DEAF405}.Release|x64.ActiveCfg = Release|x64 + {74C201F3-8308-40BE-BC0F-24974DEAF405}.Release|x64.Build.0 = Release|x64 {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Debug|Win32.ActiveCfg = Debug|Win32 {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Debug|Win32.Build.0 = Debug|Win32 + {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Debug|x64.ActiveCfg = Debug|x64 + {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Debug|x64.Build.0 = Debug|x64 {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Release|Win32.ActiveCfg = Release|Win32 {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Release|Win32.Build.0 = Release|Win32 + {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Release|x64.ActiveCfg = Release|x64 + {3926C6DC-9D1E-4227-BEF5-81F5EC621A75}.Release|x64.Build.0 = Release|x64 {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Debug|Win32.ActiveCfg = Debug|Win32 {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Debug|Win32.Build.0 = Debug|Win32 + {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Debug|x64.ActiveCfg = Debug|x64 + {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Debug|x64.Build.0 = Debug|x64 {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Release|Win32.ActiveCfg = Release|Win32 {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Release|Win32.Build.0 = Release|Win32 + {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Release|x64.ActiveCfg = Release|x64 + {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB}.Release|x64.Build.0 = Release|x64 {8420E151-B23B-4651-B526-6AB11EF1E278}.Debug|Win32.ActiveCfg = Debug|Win32 + {8420E151-B23B-4651-B526-6AB11EF1E278}.Debug|x64.ActiveCfg = Debug|x64 {8420E151-B23B-4651-B526-6AB11EF1E278}.Release|Win32.ActiveCfg = Release|Win32 + {8420E151-B23B-4651-B526-6AB11EF1E278}.Release|x64.ActiveCfg = Release|x64 {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Debug|Win32.ActiveCfg = Debug|Win32 {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Debug|Win32.Build.0 = Debug|Win32 + {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Debug|x64.ActiveCfg = Debug|x64 + {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Debug|x64.Build.0 = Debug|x64 {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Release|Win32.ActiveCfg = Release|Win32 {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Release|Win32.Build.0 = Release|Win32 + {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Release|x64.ActiveCfg = Release|x64 + {8638A3D8-D121-40BF-82E5-127F1B1B2CB2}.Release|x64.Build.0 = Release|x64 {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Debug|Win32.ActiveCfg = Debug|Win32 {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Debug|Win32.Build.0 = Debug|Win32 + {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Debug|x64.ActiveCfg = Debug|x64 + {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Debug|x64.Build.0 = Debug|x64 {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Release|Win32.ActiveCfg = Release|Win32 {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Release|Win32.Build.0 = Release|Win32 + {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Release|x64.ActiveCfg = Release|x64 + {C9FEAE75-4DD9-44F5-B302-9910559A91BE}.Release|x64.Build.0 = Release|x64 {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Debug|Win32.ActiveCfg = Debug|Win32 {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Debug|Win32.Build.0 = Debug|Win32 + {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Debug|x64.ActiveCfg = Debug|x64 + {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Debug|x64.Build.0 = Debug|x64 {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Release|Win32.ActiveCfg = Release|Win32 {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Release|Win32.Build.0 = Release|Win32 + {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Release|x64.ActiveCfg = Release|x64 + {EAE18F4D-AAF2-4C19-86FB-1144B5BD5993}.Release|x64.Build.0 = Release|x64 {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Debug|Win32.ActiveCfg = Debug|Win32 {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Debug|Win32.Build.0 = Debug|Win32 + {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Debug|x64.ActiveCfg = Debug|x64 + {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Debug|x64.Build.0 = Debug|x64 {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Release|Win32.ActiveCfg = Release|Win32 {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Release|Win32.Build.0 = Release|Win32 + {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Release|x64.ActiveCfg = Release|x64 + {5223CCD9-F1D4-4778-9BFD-242533DFE380}.Release|x64.Build.0 = Release|x64 {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Debug|Win32.ActiveCfg = Debug|Win32 {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Debug|Win32.Build.0 = Debug|Win32 + {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Debug|x64.ActiveCfg = Debug|x64 + {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Debug|x64.Build.0 = Debug|x64 {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Release|Win32.ActiveCfg = Release|Win32 {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Release|Win32.Build.0 = Release|Win32 + {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Release|x64.ActiveCfg = Release|x64 + {27A53564-D32B-4A32-8A6E-2F3BD252EEBA}.Release|x64.Build.0 = Release|x64 {5407AF29-59E9-4DE2-9939-F067576F7868}.Debug|Win32.ActiveCfg = Debug|Win32 {5407AF29-59E9-4DE2-9939-F067576F7868}.Debug|Win32.Build.0 = Debug|Win32 + {5407AF29-59E9-4DE2-9939-F067576F7868}.Debug|x64.ActiveCfg = Debug|x64 + {5407AF29-59E9-4DE2-9939-F067576F7868}.Debug|x64.Build.0 = Debug|x64 {5407AF29-59E9-4DE2-9939-F067576F7868}.Release|Win32.ActiveCfg = Release|Win32 {5407AF29-59E9-4DE2-9939-F067576F7868}.Release|Win32.Build.0 = Release|Win32 + {5407AF29-59E9-4DE2-9939-F067576F7868}.Release|x64.ActiveCfg = Release|x64 + {5407AF29-59E9-4DE2-9939-F067576F7868}.Release|x64.Build.0 = Release|x64 {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Debug|Win32.ActiveCfg = Debug|Win32 {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Debug|Win32.Build.0 = Debug|Win32 + {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Debug|x64.ActiveCfg = Debug|x64 + {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Debug|x64.Build.0 = Debug|x64 {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Release|Win32.ActiveCfg = Release|Win32 {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Release|Win32.Build.0 = Release|Win32 + {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Release|x64.ActiveCfg = Release|x64 + {541A2D06-B34E-4592-BE47-F87DF47E73D8}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/test/msvc2012/endian_example/endian_example.vcxproj b/test/msvc2012/endian_example/endian_example.vcxproj index dc1ee63..f3b3c6a 100644 --- a/test/msvc2012/endian_example/endian_example.vcxproj +++ b/test/msvc2012/endian_example/endian_example.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {8638A3D8-D121-40BF-82E5-127F1B1B2CB2} @@ -22,11 +30,22 @@ true v110 + + Application + Unicode + true + v110 + Application Unicode v110 + + Application + Unicode + v110 + @@ -34,19 +53,29 @@ + + + + + + + + <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)$(Configuration)\ $(Configuration)\ true + true $(SolutionDir)$(Configuration)\ $(Configuration)\ false + false @@ -66,6 +95,22 @@ MachineX86 + + + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + + + ProgramDatabase + Level3 + + + true + Console + + MaxSpeed @@ -86,6 +131,25 @@ MachineX86 + + + MaxSpeed + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + ProgramDatabase + Level3 + + + true + Console + true + true + + diff --git a/test/msvc2012/endian_in_union_test/endian_in_union_test.vcxproj b/test/msvc2012/endian_in_union_test/endian_in_union_test.vcxproj index bdd758c..612144f 100644 --- a/test/msvc2012/endian_in_union_test/endian_in_union_test.vcxproj +++ b/test/msvc2012/endian_in_union_test/endian_in_union_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {3926C6DC-9D1E-4227-BEF5-81F5EC621A75} @@ -22,11 +30,22 @@ true v110 + + Application + Unicode + true + v110 + Application Unicode v110 + + Application + Unicode + v110 + @@ -34,22 +53,33 @@ + + + + + + + + <_ProjectFileVersion>10.0.30319.1 true + true $(SolutionDir)$(Configuration)\ $(Configuration)\ false + false $(SolutionDir)$(Configuration)\ $(Configuration)\ + Disabled @@ -69,6 +99,23 @@ MachineX86 + + + Disabled + %(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + + + ProgramDatabase + Level3 + + + true + Console + + MaxSpeed @@ -89,6 +136,25 @@ MachineX86 + + + MaxSpeed + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + ProgramDatabase + Level3 + + + true + Console + true + true + + diff --git a/test/msvc2012/endian_operations_test/endian_operations_test.vcxproj b/test/msvc2012/endian_operations_test/endian_operations_test.vcxproj index b816155..9a0f6c7 100644 --- a/test/msvc2012/endian_operations_test/endian_operations_test.vcxproj +++ b/test/msvc2012/endian_operations_test/endian_operations_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {A0060A5B-673C-4AD8-BD08-A5C643B1A1CB} @@ -22,11 +30,22 @@ true v110 + + Application + Unicode + true + v110 + Application Unicode v110 + + Application + Unicode + v110 + @@ -34,24 +53,36 @@ + + + + + + + + <_ProjectFileVersion>10.0.30319.1 true + true false + false $(SolutionDir)$(Configuration)\ $(Configuration)\ + $(SolutionDir)$(Configuration)\ $(Configuration)\ + Disabled @@ -74,6 +105,26 @@ MachineX86 + + + Disabled + %(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + false + EnableFastChecks + MultiThreadedDebugDLL + + + ProgramDatabase + 4552;%(DisableSpecificWarnings) + Level3 + + + true + Console + + MaxSpeed @@ -95,6 +146,26 @@ MachineX86 + + + MaxSpeed + true + %(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + ProgramDatabase + Level3 + + + true + Console + true + true + + diff --git a/test/msvc2012/endian_test/endian_test.vcxproj b/test/msvc2012/endian_test/endian_test.vcxproj index 19b2728..ed26818 100644 --- a/test/msvc2012/endian_test/endian_test.vcxproj +++ b/test/msvc2012/endian_test/endian_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {74C201F3-8308-40BE-BC0F-24974DEAF405} @@ -22,11 +30,22 @@ true v110 + + Application + Unicode + true + v110 + Application Unicode v110 + + Application + Unicode + v110 + @@ -34,22 +53,33 @@ + + + + + + + + <_ProjectFileVersion>10.0.30319.1 true + true $(SolutionDir)$(Configuration)\ $(Configuration)\ false + false $(SolutionDir)$(Configuration)\ $(Configuration)\ + Disabled @@ -69,6 +99,23 @@ MachineX86 + + + Disabled + %(AdditionalIncludeDirectories) + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + + + ProgramDatabase + Level3 + + + true + Console + + MaxSpeed @@ -90,6 +137,26 @@ MachineX86 + + + MaxSpeed + true + %(AdditionalIncludeDirectories) + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + ProgramDatabase + Level3 + + + true + Console + true + true + + diff --git a/test/msvc2012/loop_time_test/loop_time_test.vcxproj b/test/msvc2012/loop_time_test/loop_time_test.vcxproj index b417ca6..ea621ff 100644 --- a/test/msvc2012/loop_time_test/loop_time_test.vcxproj +++ b/test/msvc2012/loop_time_test/loop_time_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {541A2D06-B34E-4592-BE47-F87DF47E73D8} @@ -22,6 +30,12 @@ v110 Unicode + + Application + true + v110 + Unicode + Application false @@ -29,6 +43,13 @@ true Unicode + + Application + false + v110 + true + Unicode + @@ -36,17 +57,31 @@ + + + + + + + + true + + true + false + + false + @@ -63,6 +98,22 @@ "$(TargetDir)\$(TargetName).exe" 1 + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + "$(TargetDir)\$(TargetName).exe" 1 + + Level3 @@ -83,6 +134,26 @@ "$(TargetDir)\$(TargetName).exe" 1000000000 + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + "$(TargetDir)\$(TargetName).exe" 1000000000 + + diff --git a/test/msvc2012/pair_test/pair_test.vcxproj b/test/msvc2012/pair_test/pair_test.vcxproj index d4df499..6089c34 100644 --- a/test/msvc2012/pair_test/pair_test.vcxproj +++ b/test/msvc2012/pair_test/pair_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {5223CCD9-F1D4-4778-9BFD-242533DFE380} @@ -22,6 +30,12 @@ v110 Unicode + + Application + true + v110 + Unicode + Application false @@ -29,6 +43,13 @@ true Unicode + + Application + false + v110 + true + Unicode + @@ -36,17 +57,31 @@ + + + + + + + + true + + true + false + + false + @@ -60,6 +95,19 @@ true + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + Level3 @@ -77,6 +125,23 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + diff --git a/test/msvc2012/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj b/test/msvc2012/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj index 2791ef4..8948a01 100644 --- a/test/msvc2012/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj +++ b/test/msvc2012/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {8420E151-B23B-4651-B526-6AB11EF1E278} @@ -22,11 +30,22 @@ true v110 + + Application + Unicode + true + v110 + Application Unicode v110 + + Application + Unicode + v110 + @@ -34,19 +53,29 @@ + + + + + + + + <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)$(Configuration)\ $(Configuration)\ true + true $(SolutionDir)$(Configuration)\ $(Configuration)\ false + false @@ -66,6 +95,22 @@ MachineX86 + + + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EnableFastChecks + MultiThreadedDebugDLL + + + ProgramDatabase + Level3 + + + true + Console + + MaxSpeed @@ -86,6 +131,25 @@ MachineX86 + + + MaxSpeed + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDLL + true + + + ProgramDatabase + Level3 + + + true + Console + true + true + + diff --git a/test/msvc2012/speed_test/speed_test.vcxproj b/test/msvc2012/speed_test/speed_test.vcxproj index ed19c99..da17e62 100644 --- a/test/msvc2012/speed_test/speed_test.vcxproj +++ b/test/msvc2012/speed_test/speed_test.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {5407AF29-59E9-4DE2-9939-F067576F7868} @@ -22,6 +30,12 @@ v110 Unicode + + Application + true + v110 + Unicode + Application false @@ -29,6 +43,13 @@ true Unicode + + Application + false + v110 + true + Unicode + @@ -36,17 +57,31 @@ + + + + + + + + true + + true + false + + false + @@ -63,6 +98,22 @@ "$(TargetDir)\$(TargetName).exe" 1000000 + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + + "$(TargetDir)\$(TargetName).exe" 1000000 + + Level3 @@ -83,6 +134,26 @@ "$(TargetDir)\$(TargetName).exe" 100000000 + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + + + "$(TargetDir)\$(TargetName).exe" 100000000 + + diff --git a/test/msvc2012/udt_conversion_example/udt_conversion_example.vcxproj b/test/msvc2012/udt_conversion_example/udt_conversion_example.vcxproj index 4baa931..93af93a 100644 --- a/test/msvc2012/udt_conversion_example/udt_conversion_example.vcxproj +++ b/test/msvc2012/udt_conversion_example/udt_conversion_example.vcxproj @@ -5,10 +5,18 @@ Debug Win32 + + Debug + x64 + Release Win32 + + Release + x64 + {27A53564-D32B-4A32-8A6E-2F3BD252EEBA} @@ -22,6 +30,12 @@ v110 Unicode + + Application + true + v110 + Unicode + Application false @@ -29,6 +43,13 @@ true Unicode + + Application + false + v110 + true + Unicode + @@ -36,17 +57,31 @@ + + + + + + + + true + + true + false + + false + @@ -60,6 +95,19 @@ true + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + + Level3 @@ -77,6 +125,23 @@ true + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + Console + true + true + true + +