能夠花錢解決的問題,就不要花力氣去ㄍㄧㄣ
抱歉,在標題裡用了注音符號了,沒辦法,這個台語不曉得怎麼用國語表達。
而事實上, 花很多心思去榨出那5%, 10%的效能, 花的時間力氣可能遠超過說服老闆用好一點的hardware/software, 這是很悲哀的. 有時不如花這些時間去跟老闆social一下, 對前途還比較有幫助, 哈….工作這麼多年有感.
之前也有類似的經驗。因為我們的辨識引擎還不夠快,所以資深同事打算用 SIMD 靠硬體架構拼效能。我很不以為然,不是因為這樣就會與硬體相依,而是因為在現在的 CPU 架構裡,pipeline、prediction 一大堆,cache 機制、大小也各有巧妙,我才不相信自己搞可以搞的好。
果不其然,在效能瓶頸處改用組語寫 SIMD,結果讓程式的整體速度更慢了。所以我就推薦改用 Intel C/C++ Compiler 試試,在網頁上申請之後,可以有一個月的試用期。如我所料,要靠硬體拼效能,手算是比不上 compiler 算的。換 compiler 帶來的,是 10% 的效能增進,執行速度比 MSVC++6 編譯出來的執行檔,還要少了 10% 的執行時間。
Intel C/C++ Compiler 才一、兩萬台幣,可以永久使用,加買 Support Services Renewal 的話,期限內還可以免費升級。比起 case-by-case 讓工程師花昂貴的時間ㄍㄧㄣ效能,還不一定能夠成功,要來得划算多了。



Post a Comment