[Lldb-commits] [PATCH] D31451: New C++ function name parsing logic

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Mar 31 13:58:33 PDT 2017


labath accepted this revision.
labath added a comment.
This revision is now accepted and ready to land.

Thank you

In https://reviews.llvm.org/D31451#715664, @eugene wrote:

> In https://reviews.llvm.org/D31451#715649, @tberghammer wrote:
>
> > Because of this I think some targeted micro benchmark will be much more useful to measure the performance of this code then an end-to-end test as an e2e test would have low signal to noise ratio.
>
>
> I did some micro-benchmarking and on average new parser is ~3 time slower than the old one. (new parser - ~200k string/s, old parser - ~700k string/s) 
>  clang::Lexer appears to be the slowest part of it. 
>  I mitigate this performance loss, by calling simplified parsing code for simple cases and calling new parser only when the old one fails.


It was pretty clear that the new parser will be slower than the old one, even if I couldn't tell whether it would be 2x or 20x. That's why I wanted a macro benchmark to see whether that matters on the grand scale of things. If you say that 10% of time is name parsing, then we definitely don't want to make that 30%, which means the decision to use two parsers was correct.


https://reviews.llvm.org/D31451





More information about the lldb-commits mailing list