Files
UnrealEngineUWP/Engine/Source/ThirdParty/libpas/libpas.sln
phil pizlo 0b56d66706 Move libpas out of restricted and make it available as a malloc on Windows.
Testing libpas's perf as a malloc already revealed some useful data about how the allocator performs on Windows (like that reserving and committing memory in separate syscalls is surprisingly expensive). Even if we don't use libpas as a UE malloc, running it in that mode is likely to reveal opportunities for improvement in those parts of libpas that the Verse GC uses.

The biggest change to libpas is introducing the global physical page cache, which is a heap of memory that starts out committed but gets tracked by the large sharing pool - so it will get decommitted after 300ms of nonuse. This means that if you're growing the heap, we allocate committed memory (single syscall to reserve and commit), but we still have a path to decommitting alignment slop. This made a 5-10% difference in VerseTestVMCmd's running time.

Resubmitting after making Core only depend on libpas on Windows (since for now, I only expose libpas as a malloc on Windows).

#rb andriy.tylychko
#rb andrew.scheidecker
#rb danny.couture

[CL 26811655 by phil pizlo in ue5-main branch]
2023-08-03 11:09:40 -04:00

52 lines
2.9 KiB
Plaintext

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.32126.315
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpas", "libpas.vcxproj", "{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_pas", "test_pas.vcxproj", "{3AE7ACE1-5868-490A-AEA5-0D62314E5238}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
DebugUE|x64 = DebugUE|x64
Release|x64 = Release|x64
ReleaseMSVC|x64 = ReleaseMSVC|x64
ReleaseTesting|x64 = ReleaseTesting|x64
ReleaseUE|x64 = ReleaseUE|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.Debug|x64.ActiveCfg = Debug|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.Debug|x64.Build.0 = Debug|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.DebugUE|x64.ActiveCfg = DebugUE|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.DebugUE|x64.Build.0 = DebugUE|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.Release|x64.ActiveCfg = Release|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.Release|x64.Build.0 = Release|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.ReleaseMSVC|x64.ActiveCfg = ReleaseMSVC|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.ReleaseMSVC|x64.Build.0 = ReleaseMSVC|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.ReleaseTesting|x64.ActiveCfg = ReleaseTesting|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.ReleaseTesting|x64.Build.0 = ReleaseTesting|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.ReleaseUE|x64.ActiveCfg = ReleaseUE|x64
{BBBDCE0C-DC79-453C-8E05-A9A2FC02F597}.ReleaseUE|x64.Build.0 = ReleaseUE|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.Debug|x64.ActiveCfg = Debug|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.Debug|x64.Build.0 = Debug|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.DebugUE|x64.ActiveCfg = DebugUE|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.DebugUE|x64.Build.0 = DebugUE|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.Release|x64.ActiveCfg = Release|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.Release|x64.Build.0 = Release|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.ReleaseMSVC|x64.ActiveCfg = ReleaseMSVC|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.ReleaseMSVC|x64.Build.0 = ReleaseMSVC|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.ReleaseTesting|x64.ActiveCfg = ReleaseTesting|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.ReleaseTesting|x64.Build.0 = ReleaseTesting|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.ReleaseUE|x64.ActiveCfg = ReleaseUE|x64
{3AE7ACE1-5868-490A-AEA5-0D62314E5238}.ReleaseUE|x64.Build.0 = ReleaseUE|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {47EDE321-D08B-4788-90DA-956BAB4ECD9D}
EndGlobalSection
EndGlobal