How to speed up C++ workflow

Sorry for the probably silly questions, but how to speed up compiling time? I saw that if I’m not compiling my project for some random time(it might be a day or an hour or even a minute), then the first compilation takes too much time. Then everything works faster, if the next compilation comes in the next few minutes, no matter what changes I’m doing. Looks like UE4 build tool drops all caches and trying to recompile everything from scratch.

Another one question is about hot reload. It does not work for me at all. I mean the project compiles successfully, the editor writes that hot reload successfully, but the new code is not applying, even if I’m not doing any changes in headers and just changed a number (like damage value) in .cpp code. It really annoying, because I have to close the editor, recompile everything (and with a problem above it could take 3-4 minutes), open editor - the whole process can take 6-7 minutes - really annoying during debugging when you have to do this lot of times. I have i7 6700K, 32Gb memory, SSD, so I guess PC specs is not a problem. Any ways to fix that?

And the final question - if I did a hot reload (no matter if it was successful) - after closing the editor I have to recompile project in VS, so it will delete hot reload files. Otherwise, the project won’t start again. Are there any ways to clean these hot reload files automatically?

Hey Kelheor, have you tried by following some tutorial about doing this on VS?

A leave this link Build-Performance

Yes, I tried to follow UE4-related tutorials about VS performance improving. About the link which you post - most of the settings from the article are default settings of VS15 (at least I have them from scratch) - other settings related to ASP.NET specific projects or just common sense advice.

I partially solved this problem by moving all custom plugins from project folder to Engine/Plugins folder (still need to move them back, if I need to package game) and by deleting such folders, as Intermediate, Saved, Binary, Build, etc.

Thanks for sharing the news, but I think it is very weird the way UE is getting slow :l

  1. put project in ramdisk
  2. Set tmp env to ramdisk
  3. Cut engine to 1.5-3 gb and put in ramdisk too
  4. Look in filemonitor and put some dir from c:/USERS//…appdata to ramdisk - command mklink /j bla bla
    5.come to QtCreator
    GET compile time simple changes in cpp 3s , full rebuild about 40s
    Minimum ram to do this 8gb( no engine in ram included), 16 gb - good., 8ram+8ramdisk

Ramdisk is not a good decision in terms of safety. What if electricity will be turned off(I don’t have UPS)? I also can’t put the whole project in ramdisk, because it requires 70+Gb for all content (I prefer to store all my assets in content folder and cook only which I really use). Can I split the content of project in different directories and run it as one (because I guess that I need only sources to be cached)? I also know that OS already caches lots of files in RAM, which are frequently used, by default (at least I usually see in task manager that around 14 Gb of RAM is cached). So I have big doubts that ramdisk will speed up the whole process. Did you make a comparison of SSD + Default OS Caching VS Ramdisk?

safety
ramdisk program stream image on ssd every 10 min, i dont see difference in speed when it proceed.
70gb
-bad practice, better migrate only you need asset in you project from big one content present oriented, no problem run 2editors, one crazy-speed from ram and from hdd or ssd.
ramdisk will speed up the whole process
i have 3s for simple rebuild small diff in cpp abd about 40s for full project.Ram is 10x faster Ssd.
Try see filemonitor operation then you recompile and understanding come.

I don’t see any problems with keeping all assets, which you might need in the project, but still don’t use. Why it’s bad practice? There is no difference in terms of speed and I cook only those content, which I actually use.

Using two editors and two separate projects is really bad practice on my own sight, because you can easily make a mistake and forget to synchronize something.

But thanks for the advice. Will try to use such approach for a small (in terms of content size) code projects (like plugins).

As for my current project - the biggest bottleneck after cleaning and moving projects is the first hot-reload compilation, which could take around 400 seconds. Without it, it takes around 12-14 seconds to compile diff in cpp and 46 seconds for full-rebuild. I hope there should be another solution to speed up things.

i am beginner coder, my way is droping the project idea to many smaller subtails, and recompile every 1-10 code lines or copy paste.3s recompile on old phenomx4 2600 16dd3, i think good solution = Ram + Qtcreator…Its on windows7x64
may be some later i try - full archlinux rootfs ,ue4editor and project in ram.
thanx for you solution in plugins.

I saw that if I’m not compiling my project for some random time(it might be a day or an hour or even a minute), then the first compilation takes too much time. Then everything works faster, if the next compilation comes in the next few minutes, no matter what changes I’m doing. Looks like UE4 build tool drops all caches and trying to recompile everything from scratch.

I’d just like to chime in that I’ve noticed this as well.

I feel like I didn’t notice it before 4.15.