当前位置:  开发笔记 > 编程语言 > 正文

需要编程algorithem非常快,我应该作为PHP扩展,或其他一些?

如何解决《需要编程algorithem非常快,我应该作为PHP扩展,或其他一些?》经验,为你挑选了1个好方法。

我的大部分应用程序都是用PHP编写的(前端和后端).有一部分工作太慢,我需要重写它,可能不是用PHP.什么会给我以下内容:
1.速度最快
2.最快的发展
3.易于维护.

我在脑海中将CPP中的这段代码重写为PHP扩展,但可能是我被锁定在这个解决方案上而错过了一些更简单/更好的解决方案?

每次运行时,算法都是几个MB数据上的PorterStemmerAlgorithm.



1> gahooa..:

答案实际上取决于它是什么样的过程.

如果它是一个长时间运行的过程(至少几秒),那么用C++编写的外部程序可能会非常简单.它不会有PHP扩展的复杂性,它的稳定性不会影响PHP/apache.您可以通过管道,共享内存或排序进行通信......

如果它是一个短暂的运行过程(以毫秒为单位),那么您很可能需要编写PHP扩展.这样就可以非常快速地调用它,几乎没有每次调用的开销.

另一种可能性是一个自定义服务器,它侦听Unix域套接字,并在PHP要求提供信息时快速响应PHP.那么你的每次呼叫开销基本上就是创建一个套接字(不错).服务器可以是任何语言(c,c ++,python,erlang等),客户端可以是使用socket _*()函数的50行PHP类.


在做出此决定之前,需要评估大量信息.在您进入非常紧密的循环或数千次重复的函数调用之前,PHP通常不会显示减速.换句话说,HTTP请求和网络延迟的开销通常会使PHP延迟无关紧要(除非上述情况适用)

也许有更好的方法在PHP中编写它?

你绑定了数据库吗?

是CPU绑定,网络绑定还是IO绑定?

结果可以缓存吗?

是否已存在可以解决繁重问题的图书馆.


通过提交自定义PHP扩展,您可以显着增加维护它所需的知识基础(甚至高于C++).但必要时这是一个很好的选择.

请随时更新您的问题并提供更多详细信息,我相信Stack Overflow会很乐意提供帮助.

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有