2010-07-14 30 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