[llvm-dev] RFC: Improving the performance of ItaniumDemangle

Scott Smith via llvm-dev llvm-dev at lists.llvm.org
Tue Apr 25 14:38:50 PDT 2017

On Tue, Apr 25, 2017 at 1:51 PM, Jonathan Roelofs <jonathan at codesourcery.com
> wrote:

> lldb has its own because it has different constraints w.r.t. memory
> allocation and speed compared to the __cxa_* one. (I don't know much about
> the details there though). If falls back on the __cxa_* implementation for
> some cases where the "fast" one's implementation is incomplete (again,
> repeating what I remember... I don't know the details).

I didn't realize lldb had its own demangler.  It must not be very thorough,
because my lldb session was falling back to llvm's demangler quite a lot!

Without my change, disabling lldb's FastDemangler is ~10% slower.
With my change, disabling lldb's FastDemangler is ~1.25% slower.
(as measured by perf stat running lldb, # of cycles.  Interesting, the
instruction count difference is much larger, implying lldb's demangler has
very poor IPC).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170425/168e8c5d/attachment.html>

More information about the llvm-dev mailing list