2010-07-14 93 views
0

我可以知道C++或PHP在運行PCA(主成分分析)方面是否更高效?PCA上的C++ vs PHP性能

我正在開發一個基於web的系統,它使用php獲取上傳的圖像,然後處理圖像,以便我可以使用PCA分析圖像以查明圖像是否與已存儲在數據庫中的另一圖像匹配。

但我不知道使用的語言(C++或者PHP或者任何其他更好的替代)爲更好的性能完成PCA任務。

TQ〜

+0

沒有真正瞭解任務,這是在黑暗中刺。但是,一般來說C/C++提供了更好的性能。 – 2010-07-14 17:21:04

+0

如果您打算使用特徵分解,您應該使用高性能數學庫。我已經使用英特爾MKL在C++中實現了PCA。我不知道PHP是否提供任何綁定,以便您可以使用一些LAPACK實現或其他數學庫。 – 2010-07-14 17:36:53

回答

2

一般來說,在計算密集型的項目,代碼做同樣的步驟相比,PHP是在C語言快100倍(或C++的這個問題)。根據你投入的時間,精力和知識,優化你的C將會再增加2-10倍。

問題是,PHP是被解釋的,C運行,幾乎直接在你的cpu上運行。如果你真的想充分利用它,在C中你可以走SSE1/2/3/4路。

您當然可以在C中使用或編寫一個PHP庫(或稱爲「擴展」),這在我的經驗中是一個很好的匹配,可以在保持PHP優勢的同時實現高速。

+0

好吧,意味着你對這些案例的推薦是在c中寫一個php擴展吧? TQ。 – jihchuan 2010-07-20 00:33:10

+0

是的。這聽起來很難,而且看起來很難,但一旦你走了,這真的很容易。我認爲這個數字1谷歌命中告訴我如何:'http:// devzone.zend.com /文章/ 1021',在一天內啓動和運行。不要在生產網絡服務器上運行,因爲你會使apache sigsegv很多... – mvds 2010-07-20 00:38:05

+0

hehe,yea我ady書籤的頁面,聽起來很難,cz我的php/c技能r如此有限,莫名其妙地將開發PCA,即時通訊模糊模糊在它上面..>。希望它的reali在幾天/周後爲我服務。 – jihchuan 2010-07-20 05:20:07