如何让PHP脚本使用更多的CPU来完成简单的循环任务?

时间:2015-06-14 19:32:00

标签: php

我有一个简单的脚本试图通过强力发现MD5碰撞。

// Pseudo:
while (runtime < 25 seconds) {
  random_hash1 = random_hash();
  random_hash2 = random_hash();

  if (random_hash1 == random_hash2) {
    notify_user();
  }
}

它本身运行良好,但在这25秒窗口期间我只能进行大约800万次迭代。在运行期间,我的CPU使用率保持在0-1%。我在3.8ghz的4核上运行。如何利用PHP更多地利用我的cpu?

如果我用java或c ++做这个,我会立即用我的while(1)循环吃整个CPU,迭代计数会增加很多,但我想用PHP做这个。

PS。我知道找到碰撞是不可能的,但我这样做是为了好玩。

1 个答案:

答案 0 :(得分:0)

  

如何利用PHP更多地利用我的cpu?

您可以尝试使用pthreads

的多线程方法

来自文档:

  

pthreads是面向对象的API,允许用户登陆   PHP中的多线程。它包括您需要创建的所有工具   针对Web或控制台的多线程应用程序。 PHP   应用程序可以创建,读取,写入,执行和同步   线程,工人和Stackables。