mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-27 08:14:34 +00:00
561d2dc360
The selection is based on the following test results: MSVC: === Lock test, 6 threads === => NonRecursiveBenaphore No contention: 11.641 ns/iter 2 thread contention: 141.559 ns/iter 3 thread contention: 242.733 ns/iter 4 thread contention: 409.807 ns/iter 5 thread contention: 561.544 ns/iter 6 thread contention: 785.845 ns/iter => std::mutex No contention: 19.190 ns/iter 2 thread contention: 39.305 ns/iter 3 thread contention: 58.999 ns/iter 4 thread contention: 59.532 ns/iter 5 thread contention: 103.539 ns/iter 6 thread contention: 110.314 ns/iter => std::shared_timed_mutex No contention: 45.487 ns/iter 2 thread contention: 96.351 ns/iter 3 thread contention: 142.871 ns/iter 4 thread contention: 184.999 ns/iter 5 thread contention: 336.608 ns/iter 6 thread contention: 542.551 ns/iter => std::shared_mutex No contention: 10.861 ns/iter 2 thread contention: 17.495 ns/iter 3 thread contention: 31.126 ns/iter 4 thread contention: 40.468 ns/iter 5 thread contention: 15.677 ns/iter 6 thread contention: 64.505 ns/iter Cygwin (clang): === Lock test, 6 threads === => NonRecursiveBenaphore No contention: 11.536 ns/iter 2 thread contention: 121.082 ns/iter 3 thread contention: 396.430 ns/iter 4 thread contention: 672.555 ns/iter 5 thread contention: 1327.761 ns/iter 6 thread contention: 14151.955 ns/iter => std::mutex No contention: 62.583 ns/iter 2 thread contention: 3990.464 ns/iter 3 thread contention: 7161.189 ns/iter 4 thread contention: 9870.820 ns/iter 5 thread contention: 12355.178 ns/iter 6 thread contention: 14694.903 ns/iter => std::shared_timed_mutex No contention: 91.687 ns/iter 2 thread contention: 1115.037 ns/iter 3 thread contention: 4183.792 ns/iter 4 thread contention: 15283.491 ns/iter 5 thread contention: 27812.477 ns/iter 6 thread contention: 35028.140 ns/iter => std::shared_mutex No contention: 91.764 ns/iter 2 thread contention: 1051.826 ns/iter 3 thread contention: 5574.720 ns/iter 4 thread contention: 15721.416 ns/iter 5 thread contention: 27721.487 ns/iter 6 thread contention: 35420.404 ns/iter Linux (x64): === Lock test, 6 threads === => NonRecursiveBenaphore No contention: 13.487 ns/iter 2 thread contention: 210.317 ns/iter 3 thread contention: 430.855 ns/iter 4 thread contention: 510.533 ns/iter 5 thread contention: 1003.609 ns/iter 6 thread contention: 1787.683 ns/iter => std::mutex No contention: 12.403 ns/iter 2 thread contention: 157.122 ns/iter 3 thread contention: 186.791 ns/iter 4 thread contention: 265.073 ns/iter 5 thread contention: 283.778 ns/iter 6 thread contention: 270.687 ns/iter => std::shared_timed_mutex No contention: 21.509 ns/iter 2 thread contention: 150.179 ns/iter 3 thread contention: 256.574 ns/iter 4 thread contention: 415.351 ns/iter 5 thread contention: 611.532 ns/iter 6 thread contention: 944.695 ns/iter => std::shared_mutex No contention: 20.805 ns/iter 2 thread contention: 157.034 ns/iter 3 thread contention: 244.025 ns/iter 4 thread contention: 406.269 ns/iter 5 thread contention: 387.985 ns/iter 6 thread contention: 468.550 ns/iter Linux (arm64): === Lock test, 6 threads === => NonRecursiveBenaphore No contention: 20.891 ns/iter 2 thread contention: 211.037 ns/iter 3 thread contention: 409.962 ns/iter 4 thread contention: 657.441 ns/iter 5 thread contention: 828.405 ns/iter 6 thread contention: 1131.827 ns/iter => std::mutex No contention: 50.884 ns/iter 2 thread contention: 103.620 ns/iter 3 thread contention: 332.429 ns/iter 4 thread contention: 620.802 ns/iter 5 thread contention: 783.943 ns/iter 6 thread contention: 834.002 ns/iter => std::shared_timed_mutex No contention: 64.948 ns/iter 2 thread contention: 173.191 ns/iter 3 thread contention: 490.352 ns/iter 4 thread contention: 660.668 ns/iter 5 thread contention: 1014.546 ns/iter 6 thread contention: 1451.553 ns/iter => std::shared_mutex No contention: 64.521 ns/iter 2 thread contention: 195.222 ns/iter 3 thread contention: 490.819 ns/iter 4 thread contention: 654.786 ns/iter 5 thread contention: 955.759 ns/iter 6 thread contention: 1282.544 ns/iter
158 lines
8.3 KiB
XML
158 lines
8.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
<ItemGroup Label="ProjectConfigurations">
|
|
<ProjectConfiguration Include="Debug|x64">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|x64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals">
|
|
<VCProjectVersion>15.0</VCProjectVersion>
|
|
<ProjectGuid>{1C736F84-08DF-4A7A-A7FB-7BA3412B8C97}</ProjectGuid>
|
|
<RootNamespace>Tracy</RootNamespace>
|
|
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
<ConfigurationType>Application</ConfigurationType>
|
|
<UseDebugLibraries>true</UseDebugLibraries>
|
|
<PlatformToolset>v141</PlatformToolset>
|
|
<CharacterSet>MultiByte</CharacterSet>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
<ConfigurationType>Application</ConfigurationType>
|
|
<UseDebugLibraries>false</UseDebugLibraries>
|
|
<PlatformToolset>v141</PlatformToolset>
|
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
<CharacterSet>MultiByte</CharacterSet>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
</ImportGroup>
|
|
<ImportGroup Label="Shared">
|
|
</ImportGroup>
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<PropertyGroup Label="UserMacros" />
|
|
<PropertyGroup />
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<ClCompile>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<Optimization>Disabled</Optimization>
|
|
<SDLCheck>true</SDLCheck>
|
|
<PreprocessorDefinitions>TRACY_FILESELECTOR;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<AdditionalIncludeDirectories>..\..\libs\glfw\include;..\..\libs\gl3w;..\..\..\imgui;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<MinimalRebuild>false</MinimalRebuild>
|
|
<ConformanceMode>true</ConformanceMode>
|
|
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
|
<DiagnosticsFormat>Caret</DiagnosticsFormat>
|
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
|
<FloatingPointModel>Fast</FloatingPointModel>
|
|
</ClCompile>
|
|
<Link>
|
|
<AdditionalDependencies>ws2_32.lib;opengl32.lib;..\..\libs\glfw\lib-vc2015\glfw3.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Link>
|
|
<Manifest>
|
|
<EnableDpiAwareness>true</EnableDpiAwareness>
|
|
</Manifest>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<ClCompile>
|
|
<WarningLevel>Level3</WarningLevel>
|
|
<Optimization>MaxSpeed</Optimization>
|
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<SDLCheck>true</SDLCheck>
|
|
<PreprocessorDefinitions>TRACY_FILESELECTOR;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32_LEAN_AND_MEAN;NOMINMAX;_USE_MATH_DEFINES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<AdditionalIncludeDirectories>..\..\libs\glfw\include;..\..\libs\gl3w;..\..\..\imgui;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
|
<ConformanceMode>true</ConformanceMode>
|
|
<EnableEnhancedInstructionSet>AdvancedVectorExtensions2</EnableEnhancedInstructionSet>
|
|
<DiagnosticsFormat>Caret</DiagnosticsFormat>
|
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
|
<FloatingPointModel>Fast</FloatingPointModel>
|
|
</ClCompile>
|
|
<Link>
|
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
<OptimizeReferences>true</OptimizeReferences>
|
|
<AdditionalDependencies>ws2_32.lib;opengl32.lib;..\..\libs\glfw\lib-vc2015\glfw3.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
<SubSystem>Windows</SubSystem>
|
|
</Link>
|
|
<Manifest>
|
|
<EnableDpiAwareness>true</EnableDpiAwareness>
|
|
</Manifest>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="..\..\..\common\TracySocket.cpp" />
|
|
<ClCompile Include="..\..\..\common\TracySystem.cpp" />
|
|
<ClCompile Include="..\..\..\common\tracy_lz4.cpp" />
|
|
<ClCompile Include="..\..\..\imgui\imgui.cpp" />
|
|
<ClCompile Include="..\..\..\imgui\imgui_demo.cpp" />
|
|
<ClCompile Include="..\..\..\imgui\imgui_draw.cpp" />
|
|
<ClCompile Include="..\..\..\nfd\nfd_common.c" />
|
|
<ClCompile Include="..\..\..\nfd\nfd_win.cpp" />
|
|
<ClCompile Include="..\..\..\server\TracyBadVersion.cpp" />
|
|
<ClCompile Include="..\..\..\server\TracyMemory.cpp" />
|
|
<ClCompile Include="..\..\..\server\TracyView.cpp" />
|
|
<ClCompile Include="..\..\..\server\TracyWorker.cpp" />
|
|
<ClCompile Include="..\..\libs\gl3w\GL\gl3w.c" />
|
|
<ClCompile Include="..\..\src\imgui_impl_glfw_gl3.cpp" />
|
|
<ClCompile Include="..\..\src\main.cpp" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\..\..\common\TracyAlign.hpp" />
|
|
<ClInclude Include="..\..\..\common\TracyForceInline.hpp" />
|
|
<ClInclude Include="..\..\..\common\TracyMutex.hpp" />
|
|
<ClInclude Include="..\..\..\common\TracyProtocol.hpp" />
|
|
<ClInclude Include="..\..\..\common\TracyQueue.hpp" />
|
|
<ClInclude Include="..\..\..\common\TracySocket.hpp" />
|
|
<ClInclude Include="..\..\..\common\TracySystem.hpp" />
|
|
<ClInclude Include="..\..\..\common\tracy_benaphore.h" />
|
|
<ClInclude Include="..\..\..\common\tracy_lz4.hpp" />
|
|
<ClInclude Include="..\..\..\common\tracy_sema.h" />
|
|
<ClInclude Include="..\..\..\imgui\imconfig.h" />
|
|
<ClInclude Include="..\..\..\imgui\imgui.h" />
|
|
<ClInclude Include="..\..\..\imgui\imgui_internal.h" />
|
|
<ClInclude Include="..\..\..\imgui\stb_rect_pack.h" />
|
|
<ClInclude Include="..\..\..\imgui\stb_textedit.h" />
|
|
<ClInclude Include="..\..\..\imgui\stb_truetype.h" />
|
|
<ClInclude Include="..\..\..\nfd\common.h" />
|
|
<ClInclude Include="..\..\..\nfd\nfd.h" />
|
|
<ClInclude Include="..\..\..\nfd\nfd_common.h" />
|
|
<ClInclude Include="..\..\..\server\TracyBadVersion.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyCharUtil.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyEvent.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyFileHeader.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyFileRead.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyFileWrite.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyImGui.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyMemory.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyPopcnt.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracySlab.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyVarArray.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyVector.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyView.hpp" />
|
|
<ClInclude Include="..\..\..\server\TracyWorker.hpp" />
|
|
<ClInclude Include="..\..\..\server\tracy_flat_hash_map.hpp" />
|
|
<ClInclude Include="..\..\..\server\tracy_pdqsort.h" />
|
|
<ClInclude Include="..\..\libs\gl3w\GL\gl3w.h" />
|
|
<ClInclude Include="..\..\libs\gl3w\GL\glcorearb.h" />
|
|
<ClInclude Include="..\..\src\imgui_impl_glfw_gl3.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Natvis Include="DebugVis.natvis" />
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
</ImportGroup>
|
|
</Project> |