I added flame chart profiler output option to Clang, so I could see where exactly time goes while it's compiling. Already found some good stuff! Here's a blog post with info http://aras-p.info/blog/2019/01/16/time-trace-timeline-flame-chart-profiler-for-Clang/
@aras Interesting - how do to detect and help Unity's hundreds (perhaps millions by now?) of devs from accidentally committing "bad" (in terms of compile time) files in the future? ensuring a scalable solution for those tens (perhaps hundreds by now?) platforms you support
@jakob right now we don’t. Could imagine having some tooling that tracks compile times over time/PRs. Not sure if worth it for C++, we plan to write most code in C# going forward...
@aras Oh my god, that looks like a dream come true... I REALLY hope your PR gets merged, it's be soooooo useful for so many people!
@aras I tried to build your branch of LLVM but had to give up due to insufficient device space (RelWithDebInfo eats up more than 40GB, which is more than I have available on my Linux partition). I'll try again with Release build, hopefully that should take significantly less space. (I really hope it does, as it took me ~5 hours before I had to stop the compilation! :D)
@silverweed hmm weird. For me it compiles in 20-30 minutes from scratch (on Mac&Windows)
@silverweed but yes it probably eats up 50GB or so :shrug:
@aras Yeah, that time takes into account failures (due to OOM/insufficient space) and recompilations; but still it takes about 1.5/2 hours on my machine...guess I should get a better CPU.
Btw, in the end I managed to compile it and it works wonderfully :)
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!