<div dir="ltr">Hi Ben,<div><br></div><div>I&#39;d really like to see improvements here as well. I don&#39;t know what reports would be useful to the Swift team, but allow me to point out <a href="https://github.com/apple/swift/commit/18c75928639acf0ccf0e1fb6729eea75bc09cbd5">https://github.com/apple/swift/commit/18c75928639acf0ccf0e1fb6729eea75bc09cbd5</a>, which adds a -warn-long-function-bodies option that you may be able to use.</div><div><br></div><div>However, as stated in the commit message I linked to above, both -debug-time-function-bodies and -warn-long-function-bodies are frontend options. They are not officially supported, and may be removed at any time without warning.<br><br>Personally, I think the Swift compiler should provide users with more information about compilation times. In <a href="https://bugs.swift.org/browse/SR-2741">https://bugs.swift.org/browse/SR-2741</a>, Brian Michel (cc&#39;ed) describes a feature he&#39;d like to see: structured output from the Swift compiler driver, as an official, supported option. Your team&#39;s use case sounds very similar to his, so I&#39;d encourage you to chime in on that issue with your thoughts.</div><div><br></div><div>- Brian Gesiak</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 4, 2016 at 5:38 PM, Ben Asher via swift-dev <span dir="ltr">&lt;<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello! I work with a large project (~900 .swift files and more .m files). We have a nightly job that compiles the app and calls out function bodies (using -debug-time-function-<wbr>bodies) that are slower than 100ms to compile. Since upgrading to Swift 3, the number of trouble function bodies has one from &gt; 150 to &lt; 20, so we&#39;re really happy about that! The only issue though is that build time overall increased by ~1 min (amount of time to build all targets before automatically merging to master in our integration build).<div><br></div><div>To dig into this further, we&#39;ve started a new nightly job that builds the app using the -debug-time-compilation flag, and using that we&#39;ve found that some files take as long as 2-3 seconds to compile. But, there&#39;s no targeted output to help us get this down via the -debug-time-function-bodies flag (i.e. no function bodies that we can refactor to get compile times much faster). We can see that most of the time is spent in &quot;Type checking / Semantic analysis&quot; for these problem files, but we don&#39;t currently have any way of knowing what that means. It feels like we&#39;ve exhausted the available options at this point (unless there are other flags I&#39;m missing) in terms of existing actionable debugging/profiling/reporting, so now our question is this: what kind of reports would Swift maintainers be interested in seeing in terms of output from profiling tools, etc. to help debug/diagnose these slow compile issues? We&#39;re willing to devote time to tooling to help generate such reports and file bugs.</div><div><br></div><div>Thanks!<span class="HOEnZb"><font color="#888888"><br clear="all"><div><br></div><div class="m_1017188173920452490gmail_signature"><div dir="ltr">Ben</div></div>
</font></span></div></div>
<br>______________________________<wbr>_________________<br>
swift-dev mailing list<br>
<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-dev" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-dev</a><br>
<br></blockquote></div><br></div>