This is an archive of the discontinued LLVM Phabricator instance.

Use SmallPtrSet in ClusterManager
Needs ReviewPublic

Authored by scknight on May 5 2014, 1:27 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Based on conversations with Greg and Jim on lldb-dev, when lldb looks a a root object with many sub objects the ClusterManager can get slower and slower. This change switches the internal object list from a vector to the SmallPtrSet data type which speeds things up.

Diff Detail

Event Timeline

scknight updated this revision to Diff 9086.May 5 2014, 1:27 PM
scknight retitled this revision from to Use SmallPtrSet in ClusterManager.
scknight updated this object.
scknight edited the test plan for this revision. (Show Details)
scknight set the repository for this revision to rL LLVM.
scknight added a subscriber: Unknown Object (MLST).
tfiala added a subscriber: tfiala.May 15 2014, 9:08 AM

Hey Scott,

Did this ever get reviewed? The change looks reasonable to me. Did you
run lldb tests against it?

-Todd

This did not ever get reviewed. I wasn't sure about the process after submitting the patch to phabricator. I have not run tests yet because I wasn't clear on that process either. The lldb website mentions using make to run tests but that's under the building on linux/freebsd section. Since I'm on MacOSX is it just a matter of running dotest.py? Or is there more to it than that?

I'll go ahead and update the web page for how I'm run tests under MacOSX
since I recently started doing that.

Note right now MacOSX tests don't run clean at top of tree at this moment,
we're getting somewhere around 10 failed tests. I can give the patch a
check on Linux and at least confirm if no new tests break on MacOSX.

I did go ahead and run dotest.py this morning both before and after applying the patch and it seems to have the same 10 failures before and after like you mentioned. Another set of eyes checking the test results would be great though.