Files
UnrealEngineUWP/Engine/Source/ThirdParty/libpas/build.bat
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

18 lines
478 B
Batchfile
Executable File

@rem Copyright Epic Games, Inc. All Rights Reserved.
@echo off
setlocal enabledelayedexpansion
p4 edit x64\DebugUE\libpas.lib x64\ReleaseUE\libpas.lib
if %errorlevel% neq 0 exit /b 1
msbuild libpas.sln -p:Configuration=ReleaseTesting
if %errorlevel% neq 0 exit /b 1
msbuild libpas.vcxproj -p:Configuration=DebugUE -p:Platform=x64
if %errorlevel% neq 0 exit /b 1
msbuild libpas.vcxproj -p:Configuration=ReleaseUE -p:Platform=x64
if %errorlevel% neq 0 exit /b 1
echo SUCCESS