处理php vs c ++

时间:2012-07-15 14:05:58

标签: php c++ performance

我需要设计一个使用哈希表的函数。它基本上将数据插入哈希表并搜索项目。通常,该功能需要15秒到10分钟才能执行。我应该在c ++中实现这个函数并在PHP中使用系统调用,还是应该使用关联数组在php中实现它。哪个会更有效率。每种方法的优点和缺点是什么。

密钥将是一个字符串。该值将是一个包含两个其他结构的结构。 第一个结构基本上包含一个整数数组,第二个结构将包含一个整数对值数组

2 个答案:

答案 0 :(得分:1)

显然,PHP数组实现为链接哈希表。请参阅How is the PHP array implemented on the C level?

在任何情况下,对于300件物品,您使用的容器类型可能几乎没有速度差异。如果可能的话,我会留在PHP中以简化。

答案 1 :(得分:1)

PHP以其快速关联数组实现而闻名,但根据我的经验,C ++仍然更快。几个月前,我需要实现快速前缀匹配,哈希表中有数千个前缀,数百万个字符串需要匹配。我做了PHP和C ++两种实现,并且我记得C ++的速度提高了10倍以上,并且消耗的内存更少。但当然,它在很大程度上还取决于您的算法,而不仅仅取决于哈希表的实现。