Great presentation -- he was clearly hyped about giving this talk and showing off the progress being made in CMake. With that said, this presentation made me decide to finally give up on C++. What a wonderful mess it is.
@piotrarturklos2 жыл бұрын
The topic of modules starts at 6:13
@TheLavaBlock2 жыл бұрын
nice to see progress is being made
@DrUlrih Жыл бұрын
Yep, great😃 I have to type so much attribute words (internal fileset etc) to produce build graph, oh no :(
@puyadaravi31092 жыл бұрын
If CMake is asking the compiler for the dependencies of each source file, doesn't it mean the compiler will potentially have to scan parts of the source tree multiple times? (making it inefficient) If so is there a caching mechanism to help with this?
@mapron12 жыл бұрын
a bit inefficient. 1. parsing source code is much much faster then code generations. like 10x and more (for heavy templates). 2. OS usually do good caching job itself, bottleneck is usually disk reads, not like 'parsing'. 3. if you working with IDE, you end up loading each file multiple times anyway. clang, highlight/editor, doxygen/test/todo parsers, build system modules, actual compilation, you can complete the list. so, after project load and code model parsed, you get disk cache hit. Another concern is CI build times (cache probably won't be as good as a lot of project building same time). Anyway (1) is still applied. Like, today, if you have qt project and enable automoc it will scan you entire tree for 'Q_OBJECT' macro. and it can be done in a second or two for 1 MSLOC codebase or something. So, yeah, overhead, but it's negligible.
@mapron12 жыл бұрын
Well, on windows, creating a new process is slow, so I can imagine process spawn time can be a concern here (having 5ms spawn and 1ms actual work)
@lukasklause22392 жыл бұрын
Nice Talk, thank you for uploading ^^
@BoostCon2 жыл бұрын
Thank you too!
@neuzen2 жыл бұрын
Why there is no unified project management tool (like cargo) and packages repo (like crates)?