According to the documentation a full compile of the UE4 source shouldn't take longer than 40 minutes.
I am trying to compile UE 4.27 using VS 2017 in Windows and its taking all day!
The instructions simply say to select the UE4 project in Solution Explorer, right click and select 'Build.
I can see every single module being compiled ie
455/4705] Module.SequenceRecorder.gen.cpp
How can I speed up compilation times?
Unreal Engine is a massive piece of software.
Your compile times will depend on a lot of factors, most importantly the hardware your compiling with.
The 40 minutes compile time is only a guideline estimate, they cannot guarantee that across all specs.
https://answers.unrealengine.com/questions/3647/how-to-improve-compile-times-for-a-c-project.html
Related
I am interested in changing some codes in Chrome V8 and Chromium, but it seems that compilation is too long (like 4 hours for Chromium)
I hope to know is there any incremental build supported, and what is your building time for: Chrome V8 (https://developers.google.com/v8/build) and Chromium (https://www.chromium.org/Home)?
I am using Windows, but I can switch to another OS if it is building faster
Oh yes, it takes quite a while to compile v8 and Chromium.
The first thing you should do is run the build in parallel: -j8 for a quad core machine for example. It can also build on multiple machines - see the documentation for more flags.
Also, of course subsequent builds will be much faster and compilation artifacts will be reused. Subsequent compiles can be under a minute.
Why does making a C/C++ app take very long compared to other apps (Java for example).
I am trying to build Ubuntu Unity, and it takes about 4 minutes on my local machine.
I think the process of Generating object files is the one that take most time.
Any advice?
If you want to speed up code generation you can use ccache. Also you can take a look at gcc version as older versions are known to lag behind. Clang also supersede them a lot.
I'm not touching compilation speed bacause this is a HUGE topic. Starting from that C/C++ is a fully compilable languages, while in Java you never compile to the machine codes, you just generate a bytecode leaving everything else to the VM.
I have developed an application for object recognition, using the Chris Evans OpenSURF implementation of SURF algorithm. I'm doing some experiments and I just realized that the algorithm does not behave well, if I launch the application through the IDE or directly with double clicking in the .exe file.
I have checked that the .exe file is the binary compiled of the code I'm launching through the IDE. It seems that there is something different maybe related with the floating point precision, when launching the app from IDE or from .EXE, because the SURF algorithm is deterministic and with the same input always must return the same output.
Some examples. The first and second columns are the number of points extracted from the images. The third column is the difference between this first and second.
EXE VS Diff
17340 17366 -26 Image001
4639 4631 8 Image002
3196 3189 7 Image003
10442 10441 1 Image004
1485 1477 8 Image005
5539 5555 -16 Image006
18102 18073 29 Image007
Anyone can tell me why the ouput is different if the algorithm and the code is exactly the same?
Thanks
This is because when we compile the code, then we have to on the optimization mode compilation.
Optimization mode compilation is in to way whether to speed up or to short the code.
In visual studio when you go to the project option then you see the optimization setting in the C/C++ option where you set the code maximum code optimization by following option depending on the code itself.
1. Optimization: Maximum Speed
2.Enable Intrinsic function : Yes
3. Favor Size or Speed: Favor fast code
and there is more option of optimization in COde Generation option
Floating Point Model :Fast
Note: 1.these options are to speed up the processing But some time unstable the code.
Always build release version when testing the time.
Run individual the program exe(not from the IDE like Visual Studio), because if you run it from Visual studio the debugger of visual studio is attached to it which slows the running time.
Always use release version of dlls.
The reasons I want to move are:
Compile speed. About a minute with gcc, 15 minutes with MSVC. Admittedly, the code I'm compiling is a ball of spaghetti, but it is the code I have to work with on a daily basis. Sure, I don't expect gcc would magically take my compile times down to a minute, but I do expect it to compile files a lot faster.
Slow debugging: Its been close to a year now, using VS2010 trying to debug on Windows is a nightmare - it is so slow, it is unusable. Yes, I've tried deleting my .suo, closing the autos window, unplugging myself from the network and dancing around a fire three times under the full moon, to no avail.
So my question is: How do I get my code, which makes heavy use of the Windows APIs and MFCs to build on GCC? Rather, what would be the simplest route?
I am working on solution with 40+ projects interlinked together.
At the moment, the build time is ~30min, and I really want to shorten it. What would be a good place to start shortening the build time?
Some background: I don't know much about the setup of the solution, but we have a lot of linking to do (to encryption, codec libraries and between projects).
The whole size of the project is ~2.7 GB, then we are also linking it to Boost C++, Intel IPP 7
Please help pointing me in a good direction.
Thanks!
Step 1 in C++ build time reduction is more memory. After switching from 4GB to 12GB, I saw my link-all-projects time fall off a cliff: from 5:50 to 1:15.