<div dir="ltr">The current situation is like this:<div><br></div><div>1. compile as debug build to get a binary with debug info, asserts enabled, and super-slow (like 100 times slower than release build), or</div><div>2. compile as release build to get a binary with good performance but no asserts and not-debuggable.</div>
<div><br></div><div class="gmail_extra">Compiling it as release build wouldn't help us much. We need something between 1 and 2.<br><br><div class="gmail_quote">On Wed, Mar 19, 2014 at 3:56 PM, Shankar Easwaran <span dir="ltr"><<a href="mailto:shankare@codeaurora.org" target="_blank">shankare@codeaurora.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On 3/19/2014 5:38 PM, Rui Ueyama wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It is proved that RoundTripNative and RoundTripYAML are good harnesses to guarantee there's no information loss when an object is converted to/from native/YAML formats. However, it makes LLD *extremely* slow when linking non-toy programs.<br>
<br>
If RoundTrip tests are enabled, LLD takes about 10 *minutes* to link itself on my Linux box. My machine is 3.5GHz Xeon. The result of gprof on LLD linking llvm-tblegen shows that 77.8% of time was consumed by RoundTripYAMLPass::perform() and 16.6% by RoundTripNativePass::perform()<u></u>. It means RoundTrip tests are the dominant factor.<br>
<br>
I couldn't even run LLD linking LLD with profiling enabled because it was too slow that I couldn't wait it to finish.<br>
<br>
This is not an acceptable performance penalty even for debug build. I think we should move the feature behind a flag and enable it only for tests.<br>
<br>
Any objections?<br>
</blockquote>
<br></div></div>
We could use non debug builds isn't it ? Will this not solve the issue ?<br>
<br>
Thanks<span><font color="#888888"><br>
<br>
Shankar Easwaran<br>
<br>
-- <br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation<br>
<br>
</font></span></blockquote></div><br></div></div>