2010-04-27 59 views

回答

6

你應該總是,總是在對你的特定應用程序的好壞做任何假設之前,對你的代碼進行剖析。 Shark非常好,可以使用設備上的硬件性能計數器告訴你很多關於應用程序運行的低級細節。

在iPhone 3GS上,Thumb-2的編譯不會產生舊Thumb指令集所做的性能損失(特別是它具有本機浮點)。有關其他詳細信息,請參見this other question

您可以在其中生成具有多個指令集的二進制文件 ,但我不確定您是否可以對ARM6(iPhone 3GS之前版本)和針對ARM7(iPhone 3GS版)的「拇指確定」 ,大概是iPad,不知道iPod touch) 編輯:這是可能的,感謝布拉德解釋如何。

在很多情況下,優化大小也是優化速度的好方法:通過縮小代碼大小,它可能更適合CPU的指令緩存,避免提取到內存。這更經常用於頻繁執行緊密循環。

+0

+1分析建議。算法中即使適度的變化也會比編譯器設置的調整提供更多的性能。 – zoul 2010-04-27 16:47:25

+1

通過選擇「編譯爲Thumb」選項,並轉到構建屏幕左下方的菜單並選擇「添加構建設置條件」,可以構建Thumb條件。在新的條件下,選擇ARMv6作爲一種條件,關閉Thumb,然後在Thumb上爲ARMv7添加一個新條件。 – 2010-04-27 16:51:45

0

第1條提示 - 瞭解您的存儲類。在數組上執行類似indexOfObject的操作可能會非常昂貴,並且通常可以通過使用不同的存儲類或組織不同的數據來避免這些情況。性能工具可以幫助您找到這些情況。

相關問題