I have much higher build times in 4.8 than in 4.7. For example compiling only a single .cpp file in 4.7 takes around 7 seconds, in 4.8 it takes 18 seconds.
My build file looks like this
public class Arena : ModuleRules
{
public Arena(TargetInfo Target)
{
MinFilesUsingPrecompiledHeaderOverride = 1;
bFasterWithoutUnity = true;
PublicDependencyModuleNames.AddRange(new string] { "Core", "CoreUObject", "Engine", "InputCore","AIModule" });
}
}
The following build settings have absoluty no effect anymore
I am assuming that I am the only one affected by this because no one has replied yet? Does anyone have an idea what could cause this? It seems that the majority of the time is spent in UHT(parsing, generating). Is there a way to configure UHT?
I also compiled 4.8.1 myself and tested it again with slightly worse results.
1>------ Build started: Project: FPS48Source, Configuration: Development_Editor x64 ------
1> Building UnrealHeaderTool...
1> Target is up to date.
1> Parsing headers for FPS48SourceEditor
1> Reflection code generated for FPS48SourceEditor
1> Performing 2 actions (4 in parallel)
1> FPS48SourceCharacter.cpp
1> [2/2] Link UE4Editor-FPS48Source.dll
1> Creating library E:\unreal\FPS48Source\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-FPS48Source.lib and object E:\unreal\FPS48Source\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-FPS48Source.exp
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1> Total build time: 31.71 seconds
========== Build: 1 succeeded, 0 failed, 2 up-to-date, 0 skipped ==========
I wish I hadn’t upgraded to 4.8 so quickly and switching back to 4.7 would require to change some code.
UHT shouldn’t be being re-run just from a change to a .cpp file, because it only operates on header files. Can you confirm that this is what you are seeing?
UBT’s makefile support can result in much better iteration times, but it was disabled in 4.8 because it wasn’t quite fit for public release. I don’t think it was enabled in 4.7, however. In any case, if you are brave enough to try it, and you have source, you can try enabling it in BuildConfiguration.cs, and changing this line to true:
bUseUBTMakefiles = false;// !Utils.IsRunningOnMono; // @todo ubtmake: Needs support for Mac
DISCLAIMER: if you end up getting unexplainable build errors after using it for a while, you will likely need to rebuild UBT to refresh the makefile system. You will also need to rebuild UBT every time you add or remove files to your project.
(things like this is why it wasn’t deemed fit for public release)
Yes I have made extensive tests, UHT is always rerun after changing a .cpp file. I tested it with 4.8.1 binary release and I built 4.8.1 myself. Switching to 4.7.6 fixes the compile times again and UHT is not rerun after changing a single .cpp.
If that is not a common problem, any ideas what could cause UHT to be rerun for a change in a single .cpp file?
Im running 4.8. I can confirm that compilation time is longer (at least from what I can remember, around 27 seconds for a medium sized project). But UHT doesn’t run every time.
This will turn off combining of source files, and also tells Unreal Build Tool to always create a precompiled header, which will yield very fast iteration times.
On my side I already have this configuration and clearly it’s slower.
I will check for the UHT things tonight but as it was just a “feeling” I didn’t post anything, but I’m glad that I’m not alone so Epic might track down the purpose of this slowness.
We haven’t seen these effects here. If possible, can anyone please replicate this behaviour in a brand new project/template and list the repro steps here? As different people seem to be seeing different performance concerns, I’d like to establish if it’s something fundamental, project-specific or something local to those seeing the problem.
Also, if you could enable performance info stats for your output, that’ll give more information about which parts have actually got slower between 4.7 and 4.8. You can do this by adding <bPrintPerformanceInfo>true</bPrintPerformanceInfo> to the BuildConfiguration section inside UBT’s configuration file, found here: UE4\Engine\Saved\UnrealBuildTool\BuildConfiguration.xml
First Person template 4.8.1 binary release. Added a new line to XXCharacter.cpp after doing a full build.
1>------ Build started: Project: FPS48Source, Configuration: Development_Editor x64 ------
2>------ Skipped Build: Project: UE4, Configuration: BuiltWithUnrealBuildTool Win32 ------
2>Project not selected to build for this solution configuration
1> Telemetry initialization took 0.0050003s
1> Basic UBT initialization took 0.1530087s
1> DeleteJunk took 0s
1> RunUBT initialization took 0.0050003s
1> Target descriptors took 0.0090005s
1> CreateTarget for FPS48SourceEditor took 0.490028s
1> Target init took 0.4970284s
1> Loading existing IncludeFileCache: E:\unreal\FPS48Source\Intermediate\Build\Win64\FPS48SourceEditor\DependencyCache.bin
1> Loading IncludeFileCache took 1.0730614s
1> UObject discovery time: 0.5180296s
1> Parsing headers for FPS48SourceEditor
1> Reflection code generated for FPS48SourceEditor
1> UnrealHeaderTool took 11.571
1> Cache miss: PS4\PS4PlatformCompilerPreSetup.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatformCompilerPreSetup.h found after 210 attempts: NOT FOUND!
1> Cache miss: stddef.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Platform.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatform.h found after 210 attempts: NOT FOUND!
1> Cache miss: new found after 210 attempts: NOT FOUND!
1> Cache miss: wchar.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdlib.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdio.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdarg.h found after 210 attempts: NOT FOUND!
1> Cache miss: math.h found after 210 attempts: NOT FOUND!
1> Cache miss: float.h found after 210 attempts: NOT FOUND!
1> Cache miss: string.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Includes.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatformIncludes.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys ime.h found after 210 attempts: NOT FOUND!
1> Cache miss: pthread.h found after 210 attempts: NOT FOUND!
1> Cache miss: errno.h found after 210 attempts: NOT FOUND!
1> Cache miss: intrin.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdint.h found after 210 attempts: NOT FOUND!
1> Cache miss: tchar.h found after 210 attempts: NOT FOUND!
1> Cache miss: intsafe.h found after 210 attempts: NOT FOUND!
1> Cache miss: strsafe.h found after 210 attempts: NOT FOUND!
1> Cache miss: CodeAnalysis\SourceAnnotations.h found after 210 attempts: NOT FOUND!
1> Cache miss: CodeAnalysis\Warnings.h found after 210 attempts: NOT FOUND!
1> Cache miss: windows.h found after 210 attempts: NOT FOUND!
1> Cache miss: ctype.h found after 210 attempts: NOT FOUND!
1> Cache miss: wctype.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Misc.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneMisc.h found after 210 attempts: NOT FOUND!
1> Cache miss: Carbon\Carbon.h found after 210 attempts: NOT FOUND!
1> Cache miss: CoreServices\CoreServices.h found after 210 attempts: NOT FOUND!
1> Cache miss: CoreFoundation\CoreFoundation.h found after 210 attempts: NOT FOUND!
1> Cache miss: alloca.h found after 210 attempts: NOT FOUND!
1> Cache miss: limits.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach\mach_time.h found after 210 attempts: NOT FOUND!
1> Cache miss: unistd.h found after 210 attempts: NOT FOUND!
1> Cache miss: libkern\OSAtomic.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys ypes.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\stat.h found after 210 attempts: NOT FOUND!
1> Cache miss: pwd.h found after 210 attempts: NOT FOUND!
1> Cache miss: fcntl.h found after 210 attempts: NOT FOUND!
1> Cache miss: dirent.h found after 210 attempts: NOT FOUND!
1> Cache miss: dlfcn.h found after 210 attempts: NOT FOUND!
1> Cache miss: copyfile.h found after 210 attempts: NOT FOUND!
1> Cache miss: utime.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach\mach_host.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach ask.h found after 210 attempts: NOT FOUND!
1> Cache miss: execinfo.h found after 210 attempts: NOT FOUND!
1> Cache miss: signal.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\sysctl.h found after 210 attempts: NOT FOUND!
1> Cache miss: malloc\malloc.h found after 210 attempts: NOT FOUND!
1> Cache miss: xmmintrin.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach\mach.h found after 210 attempts: NOT FOUND!
1> Cache miss: arm_neon.h found after 210 attempts: NOT FOUND!
1> Cache miss: wrl.h found after 210 attempts: NOT FOUND!
1> Cache miss: emscripten.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\utsname.h found after 210 attempts: NOT FOUND!
1> Cache miss: libgen.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneSystemIncludes.h found after 210 attempts: NOT FOUND!
1> Cache miss: jni.h found after 210 attempts: NOT FOUND!
1> Cache miss: time.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys imeb.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\syscall.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Math.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneMath.h found after 210 attempts: NOT FOUND!
1> Cache miss: DirectXMath.h found after 210 attempts: NOT FOUND!
1> Cache miss: DirectXPackedVector.h found after 210 attempts: NOT FOUND!
1> Cache miss: emmintrin.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4String.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneString.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Properties.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneProperties.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Process.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneProcess.h found after 210 attempts: NOT FOUND!
1> Cache miss: BoneAtomVectorized.h found after 210 attempts: NOT FOUND!
1> Cache miss: Animation\AnimInstance.h found after 34 attempts: D:\Epic Games\4.8\Engine\Source\Runtime\Engine\Classes\Animation\AnimInstance.h
1> Cache miss: GameFramework\InputSettings.h found after 34 attempts: D:\Epic Games\4.8\Engine\Source\Runtime\Engine\Classes\GameFramework\InputSettings.h
1> Cache miss: PS4\PS4PlatformCompilerPreSetup.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatformCompilerPreSetup.h found after 210 attempts: NOT FOUND!
1> Cache miss: stddef.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Platform.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatform.h found after 210 attempts: NOT FOUND!
1> Cache miss: new found after 210 attempts: NOT FOUND!
1> Cache miss: wchar.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdlib.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdio.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdarg.h found after 210 attempts: NOT FOUND!
1> Cache miss: math.h found after 210 attempts: NOT FOUND!
1> Cache miss: float.h found after 210 attempts: NOT FOUND!
1> Cache miss: string.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Includes.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatformIncludes.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys ime.h found after 210 attempts: NOT FOUND!
1> Cache miss: pthread.h found after 210 attempts: NOT FOUND!
1> Cache miss: errno.h found after 210 attempts: NOT FOUND!
1> Cache miss: intrin.h found after 210 attempts: NOT FOUND!
1> Cache miss: stdint.h found after 210 attempts: NOT FOUND!
1> Cache miss: tchar.h found after 210 attempts: NOT FOUND!
1> Cache miss: intsafe.h found after 210 attempts: NOT FOUND!
1> Cache miss: strsafe.h found after 210 attempts: NOT FOUND!
1> Cache miss: CodeAnalysis\SourceAnnotations.h found after 210 attempts: NOT FOUND!
1> Cache miss: CodeAnalysis\Warnings.h found after 210 attempts: NOT FOUND!
1> Cache miss: windows.h found after 210 attempts: NOT FOUND!
1> Cache miss: ctype.h found after 210 attempts: NOT FOUND!
1> Cache miss: wctype.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Misc.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneMisc.h found after 210 attempts: NOT FOUND!
1> Cache miss: Carbon\Carbon.h found after 210 attempts: NOT FOUND!
1> Cache miss: CoreServices\CoreServices.h found after 210 attempts: NOT FOUND!
1> Cache miss: CoreFoundation\CoreFoundation.h found after 210 attempts: NOT FOUND!
1> Cache miss: alloca.h found after 210 attempts: NOT FOUND!
1> Cache miss: limits.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach\mach_time.h found after 210 attempts: NOT FOUND!
1> Cache miss: unistd.h found after 210 attempts: NOT FOUND!
1> Cache miss: libkern\OSAtomic.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys ypes.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\stat.h found after 210 attempts: NOT FOUND!
1> Cache miss: pwd.h found after 210 attempts: NOT FOUND!
1> Cache miss: fcntl.h found after 210 attempts: NOT FOUND!
1> Cache miss: dirent.h found after 210 attempts: NOT FOUND!
1> Cache miss: dlfcn.h found after 210 attempts: NOT FOUND!
1> Cache miss: copyfile.h found after 210 attempts: NOT FOUND!
1> Cache miss: utime.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach\mach_host.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach ask.h found after 210 attempts: NOT FOUND!
1> Cache miss: execinfo.h found after 210 attempts: NOT FOUND!
1> Cache miss: signal.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\sysctl.h found after 210 attempts: NOT FOUND!
1> Cache miss: malloc\malloc.h found after 210 attempts: NOT FOUND!
1> Cache miss: xmmintrin.h found after 210 attempts: NOT FOUND!
1> Cache miss: mach\mach.h found after 210 attempts: NOT FOUND!
1> Cache miss: arm_neon.h found after 210 attempts: NOT FOUND!
1> Cache miss: wrl.h found after 210 attempts: NOT FOUND!
1> Cache miss: emscripten.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\utsname.h found after 210 attempts: NOT FOUND!
1> Cache miss: libgen.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneSystemIncludes.h found after 210 attempts: NOT FOUND!
1> Cache miss: jni.h found after 210 attempts: NOT FOUND!
1> Cache miss: time.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys imeb.h found after 210 attempts: NOT FOUND!
1> Cache miss: sys\syscall.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Math.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneMath.h found after 210 attempts: NOT FOUND!
1> Cache miss: DirectXMath.h found after 210 attempts: NOT FOUND!
1> Cache miss: DirectXPackedVector.h found after 210 attempts: NOT FOUND!
1> Cache miss: emmintrin.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4String.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneString.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Properties.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneProperties.h found after 210 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Process.h found after 210 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneProcess.h found after 210 attempts: NOT FOUND!
1> Cache miss: BoneAtomVectorized.h found after 210 attempts: NOT FOUND!
1> Deleting stale hot reload DLLs took 0.0030001s
1> Checking actions for FPS48SourceEditor took 0.0100005s
1> Checking outdatedness took 0.0230013s
1> Performing 2 actions (4 in parallel)
1> FPS48SourceCharacter.cpp
1> [2/2] Link UE4Editor-FPS48Source.dll
1> Creating library E:\unreal\FPS48Source\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-FPS48Source.lib and object E:\unreal\FPS48Source\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-FPS48Source.exp
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1> Saving IncludeFileCache took 0.3320189s
1> Total build time: 19.25 seconds
1> GetIncludes time: 4.46225449999999s (0 includes)
1> DirectIncludes cache miss time: 0.0280016s (2 misses)
1> FindIncludePaths calls: 362 (31992 searches)
1> PCH gen time: 0.838048s
1> PCH cache time: 0.0420024s
1> Deep C++ include scan time: 0s
1> Include Resolves: 3412 (361 misses, 10.58%)
1> Total FileItems: 6626 (24 missing)
1> Execution time: 19.2551013s
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 1 skipped ==========
First Person template 4.7.6 binary release. Added a new line to XXCharacter.cpp after doing a full build.
1>------ Build started: Project: FPS47, Configuration: Development_Editor x64 ------
2>------ Skipped Build: Project: UE4, Configuration: BuiltWithUnrealBuildTool Win32 ------
2>Project not selected to build for this solution configuration
1> Telemetry initialization took 0.0050003s
1> Basic UBT initialization took 0.1380079s
1> DeleteJunk took 0s
1> RunUBT initialization took 0.0110006s
1> Target descriptors took 0.0080005s
1> CreateTarget for FPS47Editor took 0.2690153s
1> Target init took 0.2770158s
1> Loading existing IncludeFileCache: E:\unreal\FPS47\Intermediate\Build\Win64\FPS47Editor\DependencyCache.bin
1> Loading IncludeFileCache took 0.0760044s
1> UObject discovery time: 0.1530088s
1> Cache miss: PS4\PS4PlatformCompilerPreSetup.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatformCompilerPreSetup.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatformCompilerPreSetup.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTPlatformCompilerPreSetup.h found after 195 attempts: NOT FOUND!
1> Cache miss: stddef.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Platform.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatform.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatform.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTARMPlatform.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTPlatform.h found after 195 attempts: NOT FOUND!
1> Cache miss: new found after 195 attempts: NOT FOUND!
1> Cache miss: wchar.h found after 195 attempts: NOT FOUND!
1> Cache miss: stdlib.h found after 195 attempts: NOT FOUND!
1> Cache miss: stdio.h found after 195 attempts: NOT FOUND!
1> Cache miss: stdarg.h found after 195 attempts: NOT FOUND!
1> Cache miss: math.h found after 195 attempts: NOT FOUND!
1> Cache miss: float.h found after 195 attempts: NOT FOUND!
1> Cache miss: string.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Includes.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOnePlatformIncludes.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatformIncludes.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTPlatformIncludes.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys ime.h found after 195 attempts: NOT FOUND!
1> Cache miss: pthread.h found after 195 attempts: NOT FOUND!
1> Cache miss: errno.h found after 195 attempts: NOT FOUND!
1> Cache miss: intrin.h found after 195 attempts: NOT FOUND!
1> Cache miss: stdint.h found after 195 attempts: NOT FOUND!
1> Cache miss: tchar.h found after 195 attempts: NOT FOUND!
1> Cache miss: intsafe.h found after 195 attempts: NOT FOUND!
1> Cache miss: strsafe.h found after 195 attempts: NOT FOUND!
1> Cache miss: CodeAnalysis\SourceAnnotations.h found after 195 attempts: NOT FOUND!
1> Cache miss: CodeAnalysis\Warnings.h found after 195 attempts: NOT FOUND!
1> Cache miss: windows.h found after 195 attempts: NOT FOUND!
1> Cache miss: ctype.h found after 195 attempts: NOT FOUND!
1> Cache miss: wctype.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Misc.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneMisc.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatformMisc.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTMisc.h found after 195 attempts: NOT FOUND!
1> Cache miss: CoreFoundation\CoreFoundation.h found after 195 attempts: NOT FOUND!
1> Cache miss: alloca.h found after 195 attempts: NOT FOUND!
1> Cache miss: limits.h found after 195 attempts: NOT FOUND!
1> Cache miss: mach\mach_time.h found after 195 attempts: NOT FOUND!
1> Cache miss: unistd.h found after 195 attempts: NOT FOUND!
1> Cache miss: libkern\OSAtomic.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys ypes.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys\stat.h found after 195 attempts: NOT FOUND!
1> Cache miss: pwd.h found after 195 attempts: NOT FOUND!
1> Cache miss: fcntl.h found after 195 attempts: NOT FOUND!
1> Cache miss: dirent.h found after 195 attempts: NOT FOUND!
1> Cache miss: dlfcn.h found after 195 attempts: NOT FOUND!
1> Cache miss: copyfile.h found after 195 attempts: NOT FOUND!
1> Cache miss: utime.h found after 195 attempts: NOT FOUND!
1> Cache miss: mach\mach.h found after 195 attempts: NOT FOUND!
1> Cache miss: mach\mach_host.h found after 195 attempts: NOT FOUND!
1> Cache miss: execinfo.h found after 195 attempts: NOT FOUND!
1> Cache miss: signal.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys\sysctl.h found after 195 attempts: NOT FOUND!
1> Cache miss: xmmintrin.h found after 195 attempts: NOT FOUND!
1> Cache miss: arm_neon.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys\utsname.h found after 195 attempts: NOT FOUND!
1> Cache miss: libgen.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneSystemIncludes.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacSystemIncludes.h found after 195 attempts: NOT FOUND!
1> Cache miss: jni.h found after 195 attempts: NOT FOUND!
1> Cache miss: time.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys imeb.h found after 195 attempts: NOT FOUND!
1> Cache miss: emscripten.h found after 195 attempts: NOT FOUND!
1> Cache miss: sys\syscall.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Math.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneMath.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatformMath.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTMath.h found after 195 attempts: NOT FOUND!
1> Cache miss: DirectXMath.h found after 195 attempts: NOT FOUND!
1> Cache miss: DirectXPackedVector.h found after 195 attempts: NOT FOUND!
1> Cache miss: emmintrin.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4String.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneString.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTString.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Properties.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneProperties.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatformProperties.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTProperties.h found after 195 attempts: NOT FOUND!
1> Cache miss: PS4\PS4Process.h found after 195 attempts: NOT FOUND!
1> Cache miss: XboxOne\XboxOneProcess.h found after 195 attempts: NOT FOUND!
1> Cache miss: Mac\MacPlatformProcess.h found after 195 attempts: NOT FOUND!
1> Cache miss: WinRT\WinRTProcess.h found after 195 attempts: NOT FOUND!
1> Cache miss: BoneAtomVectorized.h found after 195 attempts: NOT FOUND!
1> Cache miss: Animation\AnimInstance.h found after 35 attempts: D:\Epic Games\4.7\Engine\Source\Runtime\Engine\Classes\Animation\AnimInstance.h
1> Cache miss: GameFramework\InputSettings.h found after 35 attempts: D:\Epic Games\4.7\Engine\Source\Runtime\Engine\Classes\GameFramework\InputSettings.h
1> Cache miss: windows.h found after 195 attempts: NOT FOUND!
1> Deleting stale hot reload DLLs took 0.0030002s
1> Checking actions for FPS47Editor took 0.0110007s
1> Checking outdatedness took 0.0240014s
1> Performing 2 actions (4 in parallel)
1> FPS47Character.cpp
1> [2/2] Link UE4Editor-FPS47.dll
1> Creating library E:\unreal\FPS47\Intermediate\Build\Win64\FPS47Editor\Development\UE4Editor-FPS47.lib and object E:\unreal\FPS47\Intermediate\Build\Win64\FPS47Editor\Development\UE4Editor-FPS47.exp
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1> Saving IncludeFileCache took 0.0320019s
1> Cumulative action seconds (4 processors): 0.00 building projects, 0.86 compiling, 0.00 creating app bundles, 0.00 generating debug info, 0.38 linking, 0.00 other
1> UBT execution time: 4.58 seconds
1> GetIncludes time: 2.0281166s (0 includes)
1> DirectIncludes cache miss time: 0.0290017s (2 misses)
1> FindIncludePaths calls: 164 (17429 searches)
1> PCH gen time: 0.6360364s
1> PCH cache time: 0.0440026s
1> Deep C++ include scan time: 0s
1> Include Resolves: 1717 (163 misses, 9.49%)
1> Total FileItems: 2330 (24 missing)
1> Execution time: 4.5832621s
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 1 skipped ==========
I’ve discovered that some changes which were in 4.7 did not get integrated back into our main branch, which meant that they were effectively missing from the 4.8 release. I’ve checked them in here. Some changes have been made since then, but I think they should be easily merged.
Yeah I think this is a big issue. I use an SSD and my entire project and even the engine is on my SSD. When I change say even a single number inside of a cpp file, I get compile times of 20s+. For just changing a ‘1’ to a ‘2’ inside of my class:
1>------ Build started: Project: TestingAI, Configuration: Development_Editor x64 ------
1> Parsing headers for TestingAIEditor
1> Reflection code generated for TestingAIEditor
1> Performing 2 actions (2 in parallel)
1> TestingAIProjectile.cpp
1> [2/2] Link UE4Editor-TestingAI.dll
1> Creating library C:\Users\User\Documents\Unreal Projects\TestingAI\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-TestingAI.lib and object C:\Users\User\Documents\Unreal Projects\TestingAI\Intermediate/Build/Win64\UE4Editor\Development\UE4Editor-TestingAI.exp
1> -------- End Detailed Actions Stats -----------------------------------------------------------
1> Total build time: 21.16 seconds
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
On the other hand, I have noticed my compile times are faster than when I first created this project. I was getting compile times of 40s-70s a week ago, I’m not sure what I changed but the compile times did decrease. Not to say the new compile times are great. I would expect 5 seconds at max for changing a number.
I look at some commits histories in 4.7 branch. It is only a branch with many changes despite integrated from master.
I guess there still exist some changes were not merged into master branch.