<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 2, 2017 at 12:43 PM, Greg Clayton <span dir="ltr"><<a href="mailto:clayborg@gmail.com" target="_blank">clayborg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">The other thing would be to try and move the demangler to use a custom allocator everywhere. Not sure what demangler you are using when you are doing these tests, but we can either use the native system one from the #include <cxxabi.h>, or the fast demangler in FastDemangle.cpp. If it is the latter, then we can probably optimize this. </div></blockquote><div><br></div><div>I'm using the demangler I modified here: <a href="https://reviews.llvm.org/D32500">https://reviews.llvm.org/D32500</a><br></div><div>I think it still starts with FastDemangle.cpp, but one test showed the modified llvm demangler is almost as fast (~1.25% slow down by disabling FastDemangle).  I might be able to narrow that further by putting the initial arena on the stack.<br><br></div><div>Now that I moved past the parallelism bottleneck, I think I need to revisit my changes to make sure they're having the desired effect.<br></div><br></div></div></div>