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 endian 2.18 s 0.83 s
-16-bit aligned little endian 0.81 s 0.83 s
-16-bit unaligned big endian 1.64 s 0.83 s
-16-bit unaligned little endian 1.64 s 0.83 s
-32-bit aligned big endian 0.83 s 0.81 s
-32-bit aligned little endian 0.83 s 0.81 s
-32-bit unaligned big endian 3.01 s 0.83 s
-32-bit unaligned little endian 3.01 s 0.81 s
-64-bit aligned big endian 1.09 s 1.05 s
-64-bit aligned little endian 0.83 s 1.03 s
-64-bit unaligned big endian 12.64 s 1.01 s
-64-bit unaligned little endian 8.41 s 0.83 s
+16-bit aligned big endian 0.83 s 0.51 s
+16-bit aligned little endian 0.51 s 0.50 s
+16-bit unaligned big endian 1.37 s 0.51 s
+16-bit unaligned little endian 1.37 s 0.50 s
+32-bit aligned big endian 0.81 s 0.50 s
+32-bit aligned little endian 0.51 s 0.51 s
+32-bit unaligned big endian 2.98 s 0.53 s
+32-bit unaligned little endian 3.00 s 0.51 s
+64-bit aligned big endian 1.33 s 0.33 s
+64-bit aligned little endian 0.34 s 0.27 s
+64-bit unaligned big endian 7.05 s 0.33 s
+64-bit unaligned little endian 7.11 s 0.31 s
Iterations: 1000000000, Intrinsics: no byte swap intrinsics
Test Case
Endian type
Endian conversion function
-16-bit aligned big endian 0.84 s 0.81 s
-16-bit aligned little endian 0.83 s 0.81 s
-16-bit unaligned big endian 1.65 s 0.81 s
-16-bit unaligned little endian 1.65 s 0.83 s
-32-bit aligned big endian 3.46 s 0.83 s
-32-bit aligned little endian 0.81 s 0.83 s
-32-bit unaligned big endian 3.01 s 0.81 s
-32-bit unaligned little endian 3.01 s 0.81 s
-64-bit aligned big endian 10.50 s 0.83 s
-64-bit aligned little endian 0.83 s 0.97 s
-64-bit unaligned big endian 12.62 s 0.81 s
-64-bit unaligned little endian 8.42 s 0.81 s
+16-bit aligned big endian 0.83 s 0.51 s
+16-bit aligned little endian 0.51 s 0.51 s
+16-bit unaligned big endian 1.36 s 0.51 s
+16-bit unaligned little endian 1.37 s 0.51 s
+32-bit aligned big endian 3.42 s 0.50 s
+32-bit aligned little endian 0.51 s 0.51 s
+32-bit unaligned big endian 2.93 s 0.50 s
+32-bit unaligned little endian 2.95 s 0.50 s
+64-bit aligned big endian 5.99 s 0.33 s
+64-bit aligned little endian 0.33 s 0.33 s
+64-bit unaligned big endian 7.02 s 0.27 s
+64-bit unaligned little endian 7.02 s 0.27 s
-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
+
+