Eigen效能測試

2021-10-05 13:14:12 字數 1266 閱讀 5703

我在**裡使用了 eigen,發現程式很慢,於是我用效能分析器分析,eigen竟然耗時一半有餘。。。

而且最耗時的是eigen::vector3d物件的建立/銷毀/normalize()/賦值等最最基本的操作,我感覺眼睛有點發黑。

於是趕緊上網查這是怎麼回事,網上給出解釋,eigen做了很多檢查,在release模式的時候,就不檢查了。舒了一大口氣。

網友同時指出,使用巨集eigen_no_debugndebug,可以避免這些檢查。

於是我就試了下。先上**,再看測試效果。

#include

#include

#include

void

testeigennorm()

void

testarraynorm()

;double len =0;

for(

int i =

0; i <

10000

;++i)

}int

main()

測試結果:

debug

eigen normalize time :

0.030172

array normalize time :

0.000202

debug + eigen_no_debug

eigen normalize time :

0.038975

array normalize time :

0.000215

debug + ndebug

eigen normalize time :

0.019855

array normalize time :

0.000220

release

eigen normalize time :

0.000130

array normalize time :

0.000132

經過實驗

release模式下,eigen效能***,而且eigen內部做了大量矩陣的優化處理。可以放心使用。

巨集eigen_no_debugndebug,沒什麼大用。

效能測試 效能測試步驟

針對此次庫內作業效能測試,梳理一下期間的工作流程 梳理已有的介面指令碼,確認需要做效能測試的幾個介面,即使用率高,對效能有要求的幾個主要介面。結合頁面的操作,和確認的介面,梳理具體的業務邏輯 同時,請開發人員部署了測試環境。測試環境的伺服器指標,盡量和生產環境一致。部署的時候,負載均衡等情況也盡量和...

高效能 Eigen矩陣庫使用事項

1 eigen庫只有矩陣運算功能。eigen相對專一,面對四元數 統計 微積分等高階運算功能,我建議還是使用專業的科 算庫。2 四階或以下的矩陣,尤其是固定大小的矩陣如 eigen matrix2i,通常進行了計算優化。3 注意一下自身和非自身的變化 說明自身 非自身轉置 transposeinpl...

效能測試之前端效能測試

本次總結總共分為以下部分 1.如何衡量乙個系統是否要做壓測 2.壓測的準備過程 3.壓測工具選擇 4.壓測資料以及報告結果相關 1.如何衡量乙個系統是否要做壓測 首先需要衡量乙個系統是否需要壓測,從以下角度考慮 從兩個角度進行分析 a.業務角度 明確系統是對內使用還是對外使用,使用人數是多少,如果使...