附錄a 建議和最佳實踐
本附錄包含這個文件中已經解釋的優化建議和最佳實踐的彙總。
a.1 效能優化策略綜述
效能優化圍繞著如下三個基本側羅展開:
最大化並行執行首先要分析演算法,獲得盡可能多的資料並行。然後把這些並行性盡可能高效地對映至硬體,這可以通過仔細編寫核函式來達到。在更高的層次上,應用也可以通過流技術在裝置上或裝置與主機之間以顯式併發執行的方式最大化並行執行。
優化記憶體使用首先應該從最小化主機和裝置間的資料傳輸開始,因為這種傳輸的頻寬比內部裝置之間的要低很多。然後通過最大化共享記憶體的使用來最小化核函式對全域性記憶體的訪問。有時,最佳的優化甚至是從一開始就通過重新計算需要的資料來避免任何的資料傳輸。
有效頻寬嚴重依賴於每種記憶體的訪問模式,隨訪存的順序變化而變化。接下來要根據最佳訪存模式組織記憶體訪問以優化記憶體的使用。這種優化對於其訪存延遲高達數百個時鐘週期的全域性記憶體的訪問顯得特別重要。相比而言,共享記憶體的訪問值得優化的僅僅是避免大的bank衝突。
至於優化指令的使用,那些低吞吐量的算術指令應予避免。在不影響最終結果的前提下建議以精度換速度,比如使用指令代替正規函式或者用單精度代替雙精度。最後,由於裝置執行的simt(single instruction multiple thread,單指令多執行緒)的特性,對於控制流指令要特別地注意。
a.2 高優先順序建議
a.3 中等優先順序建議
a.4 低優先順序建議
RESTful API 設計指南 最佳實踐
facebook 谷歌 github netflix 和幾個其他的科技巨頭已經允許開發者和其產品通過 api 呼叫他們的資料,並為他們提供平台。即使你不是寫 api 的專業人士,擁有精美的 api 也對你的應用程式有好處。關於設計 api 的最好方法,網路上有較長一段時間的爭論,但官方也沒有對此給出...
Unity最佳實踐 Unity UI優化指南
優化基於unity ui的ui系統是一門藝術。硬性規則很少 相反,你必須仔細評估每種情況,並考慮遊戲系統的行為。優化任何unity ui時的核心壓力是draw calls與批處理成本的平衡。雖然可以使用一些常識技術來減少其中一種,但如果ui很複雜就必須進行權衡。不過,正如其他地方的最佳實踐一樣,優化...
(二)Restful API設計指南 最佳實踐
facebook,google,github,netflix和其他一些科技巨頭給開發人員和產品提供了通過api使用其資料的機會,即使你沒有為其他開發人員和產品編寫過api,對於你的應用程式來說,擁有精心製作的api總是非常健康的。關於設計api的最佳方法,網際網路上存在著長期的爭論,沒有為此定義過任...