<div dir="ltr">It's a good question - here's a two part answer:<div><br></div><div>1. The actual printing of the output is the longest blocking in many cases (as mentioned in the description: the actual data gathering for "target module dump symtab" can take 1-2sec, but printing it can take 20min. For quick experiment, try dis -p -c 10000).</div><div>2. This change provides the scaffolding for cooperative interruption that can be used were appropriate, not just the printing part. I did this for "target" commands (see the changes in CommandObjectTarget.cpp), and it's very easy to do the same in other places as needed.</div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 18, 2017 at 3:05 PM, Greg Clayton via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">clayborg added a comment.<br>
<br>
I think Zach might be correct. If we already gathered the data, why not just output it all? Lets answer this first before returning to which implementation to use when parsing it up into lines and dumping it. Seems a shame to throw any data away.<br>
<br>
<br>
<a href="https://reviews.llvm.org/D37923" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D37923</a><br>
<br>
<br>
<br>
</blockquote></div><br></div>