[PATCH] D109632: [clang] de-duplicate methods from AST files

Volodymyr Sapsai via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 29 18:38:29 PDT 2021


vsapsai added a comment.

I've updated D110123 <https://reviews.llvm.org/D110123> to be the way I was planning it to be and I was testing locally with it. So far, with this change the speedup over a baseline is ~20%, though measurements aren't super rigorous. I.e., no multiple runs to warm up the caches, no control for other background activity. At least, with this precision can claim there is no slow down in compilation time.

What's interesting, I was able to trigger more diagnostic. Specifically, I got warnings about `length` ambiguity because in NSStatusItem it is CGFloat <https://developer.apple.com/documentation/appkit/nsstatusitem/1529402-length>, while in NSString it is NSUInteger. I also had more diagnostic that's unclear how it is triggered. It can be a project issue or a bug somewhere else, need to check it more carefully.

In theory, "set dedupe" approach should be slower than "no external" as we are iterating through shared dependencies. But in practice it isn't, which is puzzling. My current theory is that "no external" also feeds into correctness, so we might be doing more [correct] method overloading checks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D109632/new/

https://reviews.llvm.org/D109632



More information about the cfe-commits mailing list