We collect the diagnostics as we compiling the translation unit for completion, highlighting etc.. But the compiling is slower because it takes time to find all the warnings, some are actually quite cheap but other are very expensive to compute. An other idea was only to generate diagnostics for the current files and not the include but AFAIK it is not so easy because our first approach to include everything as system include is not working because the files are locked again.
________________________________ From: Qt-creator <qt-creator-boun...@qt-project.org> on behalf of Jason H <jh...@gmx.com> Sent: Tuesday, January 8, 2019 4:48:28 PM To: Eike Ziller Cc: NIkolai Marchenko; qt-creator@qt-project.org Subject: Re: [Qt-creator] Qt creator + Clang model = major annoyance > > I too have noticed QtC's recent versions slowing down. I used to think it > > was a cool add, but it's starting to get in the way. OR it could be that my > > expectations have increased and I rely on it more whereas it as a > > nice-to-have. But the slowdowns remove the value added. > > Please definitely make sure that you use a configuration that does not > include any clang-tidy checks (Options > C++ > Code Model). Any of these > check should be considered “optional, only enable if they do not degrade > performance for you”. So I'm using "Warnings for almost everything (Copy)" (CLANG: -Weverything -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-unused-macros -Wno-newline-eof -Wno-exit-time-destructors -Wno-global-constructors -Wno-gnu-zero-variadic-macro-arguments -Wno-documentation -Wno-shadow -Wno-switch-enum -Wno-missing-prototypes -Wno-used-but-marked-unused -Wno-unknown-pragmas; Clang-Tidy: Disable; Clazy: 0 (no false positives) ) But I don't remember setting this up. I have disabled Clazy and will see how that goes. I have no clue how any of this works, but I'd like to suggest something (which may be completely wrong) It seems that an async approach would be the way to go. I don't really need clang-tidy or clazy blocking me. Rather, eventually the errors should be first, warnings, then hints. Maybe you get them all at the same time, but I was under the impression that with these being separate tools, their outputs could be integrated separately? So run the compiler first, then clang-tidy, then clazy. Then having a "compile server" (language server?) where the server is always running to avoid the startup penalty, and QtC submits your diffs so that only new code is evaluated, would be the way to go? Maybe this is how it is already done, I don't know... _______________________________________________ Qt-creator mailing list Qt-creator@qt-project.org https://lists.qt-project.org/listinfo/qt-creator
_______________________________________________ Qt-creator mailing list Qt-creator@qt-project.org https://lists.qt-project.org/listinfo/qt-creator