Bug 7434 - Huge compile time regression due to dsymutil
Summary: Huge compile time regression due to dsymutil
Status: RESOLVED INVALID
Alias: None
Product: iOS
Classification: Xamarin
Component: Tools ()
Version: 6.0.x
Hardware: PC Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Sebastien Pouliot
URL:
Depends on:
Blocks:
 
Reported: 2012-09-24 18:34 UTC by Frank A. Krueger
Modified: 2012-10-02 09:58 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED INVALID

Description Frank A. Krueger 2012-09-24 18:34:36 UTC
Since upgrading to MonoTouch 6, debug build on the device have gone from 12 seconds to 203 seconds. Build times are now 17x slower than they were before this update. This means every time I want to test a change on the device, I have to wait 3 and a half minutes to compile. This is unacceptable.

All this additional time is spent executing dsymutil. If you do a google search for "dsymutil slow" you will see that this is a well known problem. We should not be relying on such a slow tool.

This didn't happen with earlier MonoTouch releases. There must be a way to revert to the old symbol system.

If I disable debugging, then I get the fast build time, but I can no longer debug. This is a horrible tradeoff. I shouldn't have to wait 3:23 just so that I can debug.

Versions:

MonoDevelop 3.0.4.7
Installation UUID: 53d43a45-c94f-4303-a8b5-08b338d7ad18
Runtime:
	Mono 2.10.9 (tarball)
	GTK 2.24.10
	GTK# (2.12.0.0)
	Package version: 210090011
Apple Developer Tools:
	 Xcode 4.5 (1839)
	 Build 4G182
Monotouch: 6.0.0
Mono for Android: 4.2.6
Android SDK: /Users/fak/Library/Developer/Xamarin/android-sdk-mac_x86
	Supported Android versions:
		2.1 (API level 7)
		2.2 (API level 8)
		2.3 (API level 10)
		3.1 (API level 12)
		4.0 (API level 14)
Java SDK: /usr
Build information:
	Release ID: 30004007
	Git revision: ea0108260c6a376ecaeffcdb7d03387bd51edda3
	Build date: 2012-09-17 14:09:17+0000
	Xamarin addins: ec43fd5cb223ead4234a9858d1b56eef03dad53a-dirty
Operating System:
	Mac OS X 10.8.2
	Darwin cell.local 12.2.0 Darwin Kernel Version 12.2.0
	    Sat Aug 25 00:48:52 PDT 2012
	    root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
Comment 2 Sebastien Pouliot 2012-09-24 19:48:44 UTC
Thanks, I'll try to reproduce this using different MT and Xcode versions.
Comment 3 Frank A. Krueger 2012-09-24 19:55:56 UTC
dsymutil is indeed slow, but the real mistake was not linking the SDK. That was causing long build times.
Comment 4 Miguel de Icaza [MSFT] 2012-10-02 09:58:03 UTC
What if we run dsymutil in the background?

We could just let it run, we do not care for it to complete.

Frank, so there was no regression then?