[Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-04 Thread Pavel Labath via Phabricator via lldb-commits
labath added a comment. I have feeling you gave up on the llvm change too quickly. My interpretation of that thread was that there was general support for the hash function switch, and people only wanted some confirmation it will not regress. However, I do believe that this can be made faster t

[Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-03 Thread Scott Smith via Phabricator via lldb-commits
scott.smith added a comment. In https://reviews.llvm.org/D32832#745361, @clayborg wrote: > Do you have performance numbers here? I am all for it if it improves > performance. If this is faster than llvm::StringMap why not just fix it > there? Seems like everyone could benefit if you fix it in L

Re: [Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-03 Thread Jim Ingham via lldb-commits
It isn't uncommon for folks to debug programs with all the debug information for the whole system available. In those cases, what looks to the user like a normal sized application is actually a very large one as far as lldb's global string pool is concerned. My experience is that whenever you

[Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-03 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. Sorry missed your first note about perf. This has to be able to handle any number of strings efficiently and growing buckets is probably needed. How many buckets are you starting with here? The design probably shouldn't take up gobs of memory if it just has a few strin

[Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-03 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. Do you have performance numbers here? I am all for it if it improves performance. If this is faster than llvm::StringMap why not just fix it there? Seems like everyone could benefit if you fix it in LLVM? Repository: rL LLVM https://reviews.llvm.org/D32832 _

[Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-03 Thread Scott Smith via Phabricator via lldb-commits
scott.smith added a comment. Note, I don't expect you guys to want this as is, since the # of buckets can't grow, and thus for very large applications this will behave O(n) instead of O(1). Before I bother to convert this to 1M skip lists (instead of 1M singly linked lists), is this something

[Lldb-commits] [PATCH] D32832: Make ConstString creation and access lockfree

2017-05-03 Thread Scott Smith via Phabricator via lldb-commits
scott.smith created this revision. Utilize atomics to update linked lists without requiring locks. Reduces the number of calls to compute the hash by not having to compute it once to determine the bucket and then again inside a separate hashtable implementation. Use xxhash for better performa