我正在爲iPhone構建一個庫(speex,但我確定它也會應用到很多其他庫),並且make腳本可以選擇使用固定點而不是浮點。針對iPhone的編譯優化:浮點還是固定點?
由於iphone ARM處理器具有VFP擴展並執行非常好的浮點計算,您是否認爲使用固定點選項是更好的選擇?
如果有人已經對此進行了基準測試並希望分享,我會非常感謝他。
我正在爲iPhone構建一個庫(speex,但我確定它也會應用到很多其他庫),並且make腳本可以選擇使用固定點而不是浮點。針對iPhone的編譯優化:浮點還是固定點?
由於iphone ARM處理器具有VFP擴展並執行非常好的浮點計算,您是否認爲使用固定點選項是更好的選擇?
如果有人已經對此進行了基準測試並希望分享,我會非常感謝他。
嗯,這取決於你的應用程序的設置,這裏是一些指導方針
如果您正在處理大量的連續數據,NEON絕對是您的選擇。
浮動或固定,這是一個很好的問題。 NEON處理固定速度有點快,但我會保持原生輸入格式,因爲轉換需要時間並最終需要額外的內存。
即使lib提供了不同的輸出格式作爲選項,它幾乎總是意味着lib內部轉換。所以我猜float在這種情況下是本地的。堅持下去。
沒有人會阻止你微調優化算法。通常,算法越好,由於現代機器上的流水線操作,通過微優化可以獲得更多的性能增益。
雖然我會遠離內在的東西。網絡上有太多的帖子抱怨內部人員做些瘋狂的事情,特別是在處理即時值時。 它可能會變得非常麻煩,你也難以用內在函數優化任何東西。