sammccall added a comment. In https://reviews.llvm.org/D54077#1288455, @LutsenkoDanil wrote:
> I already made a patch which introduces such behavior (not uploaded here > yet), and looks like it works well with draft fs: diagnostics updates for > depended files in 'real-time' on typing for opened files and no seen > performance glitches, in multi-threaded mode at least. This does indeed sound exciting! I'm a little skeptical that it "just works", there are some tricky cases: - TUs where the preamble takes multiple seconds to rebuild - "thundering herd" problems if several TUs are active that include the edited file - redundant background work does have costs (e.g. battery) > If it helps (and the LSP allows it): In case A.h is edited, we flag it dirty. > If the user makes some file depending on it visible (or the current file), we > trigger a reparse for that. Not sure whether the LSP has a notion of current > or visible files... It doesn't. Maybe there's a way to make this idea work anyway (nothing comes to mind). > I suggest continue discussion when/if dependencies tracking will be > implemented and real performance reduce introduced by this patch can be > checked with real code. Sounds reasonable. I think maybe the shortest path there is to implement on top of the LSP file change notifications, and have it push a "maybe rebuild" item on every TUScheduler worker. Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D54077 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits