kadircet added inline comments.

================
Comment at: clang-tools-extra/clangd/index/SymbolCollector.cpp:189
+  clang::Token Tok;
+  if (clang::Lexer::getRawToken(Loc, Tok, SM, LO))
+    return false;
----------------
sammccall wrote:
> You've changed this from tokenizing the file with a cache.
> If I'm reading your benchmark spreadsheet right, this is ~3% speedup.
> 
> I'm not sure this is significant (I imagine not), but you don't actually have 
> to run the lexer here, since you already know what the string is going to be, 
> it's enough to grab the buffer pointer, check that it starts with the text, 
> check that the next character is not an identifier-continuer.
right, I actually did that at first, but it implies keeping the behaviour 
around unclean tokens broken, and there wasn't much of a win (delta was in the 
noise). I think because the expensive part is actually figuring out the fileid, 
and the lexing call can do it cheaply right now as it benefits from the single 
element cache.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D123289

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to