我想編寫數學規劃的優化技巧和竅門的列表,我經常在論壇裏的東西念想:數學規劃優化
- 使用距離的平方值,因爲平方根 計算是比較距離更昂貴的
- (可變* 0.5)快於(可變/ 2.0)
對我來說是一個編程愛好者,我想盡我所能wath優化擔心,任何的貢獻將是非常apprec iated
我想編寫數學規劃的優化技巧和竅門的列表,我經常在論壇裏的東西念想:數學規劃優化
對我來說是一個編程愛好者,我想盡我所能wath優化擔心,任何的貢獻將是非常apprec iated
兩個關鍵點。
我會說,在考慮優化之前首先要確定的是圖書館的範圍和預期目的。例如,這個庫是2D還是3D包含幾何算法,如凸包?
像大多數人開發這樣的圖書館,你會遇到一些不可避免的問題。精確度錯誤等事情絕對會讓你生氣。謹防退化的三角形。
請仔細考慮包含epsilon或容差的算法。這是一個很好的功能,但它會讓你的算法變得更加複雜。
如果您在3D世界中冒險,請不同地處理點和矢量(這是3D數學中最常見的問題之一)。考慮模板乘法的元編程(這個會讓我感覺到它),因爲它可以大大提高渲染速度。
一般來說,儘量避免虛擬調用除了實質性算法之外的任何事情,小型類如向量或點不應該被繼承(另一種燃燒的機會)。
我會說,從堅持良好的開發實踐開始,閱讀Scott Meyers的Efficient C++和更高效的C++,以及如果比較平方值以避免平方根計算等捷徑,請評論您的代碼,以便將來的開發人員可以理解數學。
最後,不要試圖過度優化前沿,使用探查器。就我個人而言,我經常開始編寫最優雅的解決方案(應該說我認爲最優雅的解決方案),然後進行優化,您會驚訝於C++優化器經常做的工作。
希望這有助於
馬丁
投票搬到'programmers.stackexchange'。 –
這些「優化」可能不是任何(呃,(1)不過是(2)不是那麼多)。 –