php中的Parellal处理
Parellal processing in PHP
我在php中写了一个高性能脚本。这需要30毫秒的执行时间。
现在,我已经使此脚本更加密封,因此我在以下几点上进行了RND。我正在寻找的是在代码的一部分上进行并行处理,以最大程度地减少30毫秒至15毫秒的时间,并分发更多的时间,以便脚本可以提供更多的请求。
- Gearman
我使用它的异步任务处理程序在Gearman上完成了一些RND,我可以在PHP代码中实现并行任务。
- C
第二个选项是将整个PHP脚本转换为C 扩展名,该脚本有助于改进脚本,在C 中,我也可以使用线程。
我正在计划的所有这些,所以我需要帮助,它们是我可以扩展脚本的其他方式?
C 可以在并行处理中有助于吗?
您可以尝试将工作量切成碎片,让多个Gearman工人运行您的任务(并行)。不确定它是否会更快。
是的,您可以轻松地将PHP算法转换为C 代码,我一直使用PHP太慢的软件片段来执行此操作。实际上,我已经启动了一个可能有用的库,这使此转换非常简单:请参阅http://www.php-cpp.com。
单独转换为C 的转换已经可以提高性能。仅通过将算法从PHP转换为本机C ,从30ms到15ms并不是很不寻常的。如果仅此功能还不够,则可以启动多个线程。我不能建议您如何做到这一点,因为我必须知道您的算法才能查看它们是否适合在线程中分配。但是C 11 STD库现在带有线程类,这使此简单。
相关文章:
- 警告处理为错误这里有什么问题
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 使用流处理接收到的数据
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 基于多个条件处理地图中的所有元素
- 如何用数字处理log(0)
- SSL上的`curl_easy_send`和`curl_asy_recv`:如何处理`CURLE_AGAIN`
- 错误处理.将系统错误代码映射到泛型
- 从文本文件中读取时钟时间和事件时间并进行处理
- 在运行时处理类型擦除的数据-如何不重新发明轮子
- 在for循环中使用auto vs decltype(vec.size())来处理字符串的向量
- 用于矢量处理的多个线程
- 对字符串进行排序时,在c++中处理sort()
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 处理除以零会导致<csignal>意外行为
- 是否可以在c++中处理字符串流中的各个元素
- php中的Parellal处理