<div dir="ltr"><div>(Again), while trying to improve the performance of lldb, I ran into a bottleneck with the demangler.  This may be specific to my platform - Ubuntu 16.04, probably using libstdc++, not libc++.  It makes extensive use of std::string and std::vector, and I see memory allocation at the top.  I prototyped a version that uses an arena-style memory allocator (you can allocate, but you can't ever free).  It is approximately 14+% faster.  I think I can further optimize it by making repeated appends zero-copy (for the string being appended too).<br><br></div>The code right now is a little ugly, because it uses a thread local variable to pass around the arena pointer, rather than change every + and += to be function calls that take db.arena as a parameter.  I'm not sure what you guys would prefer for that either (thread local variable vs api change).<br><br></div>