[問題] Matlab VS OpenCV
大家好,我最近奉命將一個matlab code改成C++,遇到一件很崩潰的事情
好不容易改好了,但是同一組test data在matlab上跑29秒,在C++上要跑40秒
code本身要處理很多3維矩陣,還要做FFT IFFT和很多矩陣元素間加減乘除的動作
還要求要64 bit double求精確度,小弟我用OpenCV的IplImage **來表示3維矩陣
call OpenCV的內建function+for loop做矩陣元素間加減乘除。連OpenMP都開了還
跑比較慢,真的很奇怪。
不知道大家有沒有知道什麼加速的好方法,目前只有想到一個,不知道可不可行?
1. matlab有很多一行就寫完的code,我需要中間allocate一些暫時的buffer,我算完
就把它release掉了,以後如果還需要,又重新allocate,所以還蠻多allocate-
release的動作,寫好一些global buffer,程式全部跑完在release掉,這樣會
不會比較快? 因為這樣改工程很大,而且會降低程式閱讀性,遲遲還不敢改
大家還有沒有什麼optimize的小技巧可以提供給小弟,我一直以為C++一定會跑的比
matlab快的說
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 24.161.183.254
→
10/31 22:55, , 1F
10/31 22:55, 1F
→
10/31 22:55, , 2F
10/31 22:55, 2F
→
10/31 22:56, , 3F
10/31 22:56, 3F
→
10/31 22:58, , 4F
10/31 22:58, 4F
→
10/31 22:58, , 5F
10/31 22:58, 5F
→
10/31 22:58, , 6F
10/31 22:58, 6F
→
10/31 22:59, , 7F
10/31 22:59, 7F
→
10/31 23:00, , 8F
10/31 23:00, 8F
→
10/31 23:02, , 9F
10/31 23:02, 9F
推
10/31 23:13, , 10F
10/31 23:13, 10F
推
10/31 23:18, , 11F
10/31 23:18, 11F
→
10/31 23:36, , 12F
10/31 23:36, 12F
→
10/31 23:39, , 13F
10/31 23:39, 13F
→
10/31 23:40, , 14F
10/31 23:40, 14F
推
11/01 08:39, , 15F
11/01 08:39, 15F
推
11/01 23:59, , 16F
11/01 23:59, 16F
推
11/21 23:27, , 17F
11/21 23:27, 17F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章