Process.StartTime raises an exception on non-windows platforms if the process has already exited, so cache it immediately after starting the FrameworkProcess
Process.TotalProcessorTime raises an exception on non-windows if the process has also exited, so don't do that
#rb none
#rnx
[CL 16863633 by joe kirchoff in ue5-main branch]
#fyi joe.kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Use process directly to get wall clock execution time
Process.StartTime raises an exception on non-windows platforms if the process has already exited, so cache it immediately after starting the FrameworkProcess
#rb none
#rnx
[CL 16863370 by joe kirchoff in ue5-main branch]
Process.StartTime raises an exception on non-windows platforms if the process has already exited, so cache it immediately after starting the FrameworkProcess
#rb none
#rnx
[CL 16863209 by joe kirchoff in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Use process directly to get wall clock execution time
#rb none
#rnx
[CL 16857196 by joe kirchoff in ue5-main branch]
Add top 20 report when compilation ends for parallel and task executor
Add total cpu usage across all cores when compilation finishes for parallel and task executor
Use real processor time reported by OS when possible to account for internal usage of multiple threads (i.e. cl.exe codegen uses 8 threads)
Enabled by default for Epic developers to increase awareness on most problematic compilation times
#rnx
#rb Ben.Marsh, Joe.Kirchoff
#preflight 60ec463819a0060001dc5eb2
[CL 16835803 by danny couture in ue5-main branch]
CbObject/CbBinary/CbArray:
* Added proxy classes for viewing objects in the debugger. CbArray now displays as an array, CbObject displays as an array of fields, etc...
* Removed overloaded "View" methods, which are not required in C# due to GC.
CbWriter:
* Significantly fewer memory allocations/copying. Output buffer is now allocated in large chunks, with length fields only inserted when copying to the final output buffer.
* Methods for writing named/unnamed fields are now more idomatic with other C# serialization classes (ie. WriteXXX(Name, Value) and WriteXXXValue(Value)).
Other:
* Added serialization tests to Horde projects and fixed NuGet dependencies.
[CL 16804192 by Ben Marsh in ue5-main branch]
Current limitations:
* Only supports a filesystem backend
* No garbage collection
* Refs are stored in the database, and do not automatically expire.
* Validation of refs is slow and does not cache any data.
[CL 16778495 by Ben Marsh in ue5-main branch]