鯊魚告訴我,這是糟糕的表現的一個熱點:我該如何改進這段代碼?
double distanceA = fabsf(target - current);
目標是CGFloat的 電流CGFloat的
我的計算其餘依靠雙。無論如何,也許有一些更聰明的方法來做到這一點?
鯊魚告訴我,這是糟糕的表現的一個熱點:我該如何改進這段代碼?
double distanceA = fabsf(target - current);
目標是CGFloat的 電流CGFloat的
我的計算其餘依靠雙。無論如何,也許有一些更聰明的方法來做到這一點?
不Xcode中附近的權利,但嘗試:
double distanceA = (double) fabsf(target - current);
除非你有必要在你的距離雙精度,改變距離爲float。 CGFloat被定義爲iPhone上的浮點數,fabsf()採用浮點值並返回浮點值。在處理雙精度值時,iPhone可能會比標準浮點數慢得多。
事實上,對於距離變量使用雙精度沒有意義,因爲通過fabsf()運行計算已經失去了精度,fabsf()只返回一個浮點數。
我認爲這有助於提高性能。謝謝。 – 2009-11-23 01:56:04
我會認爲這只是明確隱含已經發生的事情(從float到double的投射)?這會如何改善? (不是sn,,我不知道有關可可的事情) – Mikeb 2009-11-23 13:40:23
哈哈,我真的不知道。 IIRC,Xcode不喜歡它,當你沒有明確地投入一個值。也許這在鯊魚身上掀起了一面旗幟。這真的是我能想到的唯一(僞)錯。 – 2009-11-23 17:23:58