Xamarin.iOS 6.4 中的构建时间改进
Xamarin.iOS 6.4 具有显着的构建时间改进,现在可以选择仅将更新的代码位发送到设备。你自己看:

(来源:xamarin.com)
在Rolf 的帖子中阅读更多内容并了解如何启用增量构建。
进化 2013 视频
此内容的更新和扩展版本可以在我在Evolve 2013上发表的高级 iOS 构建机制演讲的视频中看到。
原始答案
有几个因素会影响构建速度。但是,它们中的大多数对设备构建有更大的影响,包括您提到的托管链接器的使用。
托管链接器
对于设备,Link all是最快的,其次是Link SDK和(最后)Don't link。原因是链接器可以比 AOT 编译器更快地消除代码(净增益)。此外,较小的 .app 将更快地上传到您的设备。
对于模拟器,不要链接总是更快,因为没有 AOT(使用 JIT)。除非您想测试它们,否则不应使用其他链接选项(它仍然比进行设备构建更快)。
设备技巧
构建单一架构(例如 ARMv7)比 FAT 二进制文件(例如 ARMv7 + ARMV7s)更快。更小的应用程序也意味着上传到设备的时间更短;
默认的AOT 编译器(单声道)比使用 LLVM 编译器快很多。但是后者会生成更好的代码,并且还支持 ARMv7s、Thumb2;
如果您的 .app 中捆绑了大型资产,那么使用您的应用程序部署/上传它们(每次都必须签名)将需要时间。我写了一篇关于如何解决这个问题的博客文章——如果你有大量资产,它可以节省很多时间;
对象文件缓存在 MonoTouch 5.4 中实现。一些构建会快很多,但其他构建不会(当必须清除缓存时)更快(但绝不会变慢;-)。更多信息为什么这经常发生在这里)。
调试构建需要更长的时间,因为符号、运行dsymutil
以及由于它最终变得更大,需要额外的时间来上传到设备。
默认情况下(您可以将其关闭),发布版本将执行程序集的 IL 条带。这只需要一点时间 - 在将(较小的 .app)部署到设备时可能会恢复。
模拟器技巧
终于每当有疑问的时候了!我的意思是您可以添加--time --time
到您的项目extra mtouch arguments
中以在每次操作后查看时间戳:-)