superfluous include paths can slow the build down by quite a measureable amount. With the integration of gnumake4 it is possible to set CXXFLAGS on the compile.
Thus on Linux, with:
make CXXFLAGS="-v" -srj30 -l9 2>&1 | grep nonexistent | sort | uniq
one can get an idea of include paths, that might be superfluous. But beware of paths that might still be needed on other platforms!
Also ordering the include paths (and removing dupes) might improve performance a bit (and make the output a lot more readable).
current candidates from tail_build:
Created attachment 55938 [details]
remove nonexistent include paths
I created more patches, similar to the attached one.
Then I tried to build sw with as few include paths as possible and compare to the current state but there is no difference in speed.
I had removed quite many paths, but not from SOLARINC.
I will wait for set_soenv to be killed.
(When testing speed in sw I removed everything possible from SOLARINC in Env.Host.sh)
I think this will break ccache for one round ?
Should I push now or wait for set_soenv and remove paths also there ?
I have done:
But in SOLARINC, there are still:
I did not remove them, because I fear to break something and moreover because I have not seen any improvement in build time.
oh, great work! closing for now as an EasyHack, might be worth a recheck in two-three releases.
Migrating Whiteboard tags to Keywords: (EasyHack DifficultyBeginner SkillScript )