Why do this:
Currently when compiling a cpp file with MSVC, it compiles across multiple cores while clang does not. This means that while we support limiting the number of cores(using ProcessorCountMultiplier), MSVC will use more cores than we specify. It also means that MSVC will always be faster when compiling because clang does not support compiling a cpp over multiple cores. To get similiar results when compiling with clang, we set the weight of MSVC to 1.5 and the weight of clang to 1.0. We then set the ProcessorCountMultiplier to 1.5. This results in MSVC and clang taking roughly the same amount of CPU utilization and clang compiles to be much faster.
Old Timing(secs) Old CPU Utilization New Timing New CPU Utilization(secs)
PlatformA AncientGame 590.94 51 431.47 73
MSVC AncientGameEditor 1016.96 94 1026.08 95
Clang AncientGameEditor 1543.72 63 1270.4 84
PlatformB AncientGame 494 52 396.95 74
Old = without weight path
New = with weight path
#jira
#rb christopher.waters, joe.kirchoff
#preflight 6409026c8832f48a4dc72025
[CL 24567859 by bryan sefcik in ue5-main branch]
* Added "Generate Assembly" menu option that asks UBT to compile a single file and generate an assembly file.
* Upgraded UnrealVS.vsix to version 1.84.3
#jira none
#rb Joe.Pribele
#preflight
[CL 24559407 by LouisPhilippe Seguin in ue5-main branch]
* Modified route to include cluster name (api/v1/perforce/{cluster}/trigger/{type}).
* Refreshing a change just adds it back into the list of changes that need to be queried as part of the regular commit update. Existing changes are replaced.
#preflight none
#fyi Carl.Bystrom
[CL 24554485 by Ben Marsh in ue5-main branch]
- this change just adds support to Turnkey and the editor UI to expose this support for supported platforms
- follow on changes will be required to support the feature on a given platform
- Turnkey now tracks the auto software update mode per device
- unknown/enable/disable
- will be unknown for devices which do not support auto software updates or platforms which have not yet implemented support
- new UAT platform method SetDeviceAutoSoftwareUpdateMode() must be implemented for supporting platforms
- new Turnkey command DeviceAutoSoftwareUpdates for changing auto software update state on a device
- edtior exposes this functionality under the device entries in the platforms menu
- devices which support auto software updates will expose an "Enable auto software updates" check box item in their Sdk Info menu
- toggling this checkbox changes the auto software update policy on the device
#rb David.Harvey, Wojciech.Krywult
#jira UE-160691
#preflight 64012d69d249add4a205fe9c, 64078e72aa0042333551c821
[CL 24552009 by eric mcdaniel in ue5-main branch]
FParkingLot is a framework for building locks and other synchronization primitives, based on WTF::ParkingLot from WebKit.
FMutex is a one-byte mutex that is neither fair nor recursive, based on WTF::Lock from WebKit.
TUniqueLock and TDynamicUniqueLock are generic types to manage mutex locking, based on std::unique_lock.
#preflight 63fe76cbae54ee4ce9db2ca6
#rb Andriy.Tylychko, Phil.Pizlo
[CL 24552008 by devin doucette in ue5-main branch]