carlosgalvezp added a comment. > That's not so simple. At work we use clang-tidy for few big projects. I had > to explicitly add to some checks `unless(isExpansionInSystemHeader())` to > gain some performance improvement of clang-tidy. This check is one of them. > Problem is that some matchers or `check` methods in checks are heavy, and > when you got lot of system headers (boost, STL, generated interfaces, message > structs, ...) you may end up easily with hundreds of hidden issues from > single translation unit. > For some checks explicit exclude of system headers gives ~50% performance > improvement, that result in faster CI feedback. > > Best would be to have something more generic like: if --system-headers is not > used, then exclude code as early as possible, before even constructing > diagnostic information.
Yes, I meant from a "diagnostic" point of view. I agree that performance-wise it's a lot of work that is discarded at the end and would be good to avoid as early as possible. This sounds like something all checks would benefit from, so finding a general solution to that problem would be good. I believe the best forum to discuss this would be an RFC in Discourse, make sure to tag @njames93 as Code Owner. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143851/new/ https://reviews.llvm.org/D143851 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits