2011-10-24 3 views
0

よろしくお願いします。PHPからPythonをより効率的に実行するには?

shell_exec,execなどのコマンドを使用してphpからpythonコードを実行すると、マイページの読み込み速度が10倍遅くなります。したがって、ローカルホストでも、execまたはsystemの空のページは約0.01秒でロードされ、通常の状況では約0.001秒です。私は自分の仕事(私のニーズに応じて情報を抽出し、再帰的な単語を見つけ、索引などを検索するhtmlパーサー)を達成しようとしている間、Pythonをより快適に感じます。しかし、これらの関数が遅いので、PHPで同じクラスを書き直すことをもう一度考えています。 PHPからpythonを実行するための他の効率的な方法はありませんか?

* [1]自分のニーズを完全に満たしていないため、第三者パーサーではなく自分のクラスを作成することをお勧めします。

+0

興味がありますが、どうしてあなたはすべてのためにPythonを使用していませんか?今はPHPが栄光のPythonランチャーではないように思えます。 – janmoesen

+1

@chown mod_pythonは、Pythonを起動するのに好ましい方法ではありません。好きな方法はmod_wsgiです。 – cwallenpoole

+0

@janmoesen、Nice question :)理由は、私もPHPに慣れていて、Webアプリケーションを構築しているからです。 PHPは純粋にWebアプリケーションのために作られているので、私はWebサイトをハッキングするときにPHPを好む。しかし、この場合は、このWebアプリケーションを起動する前に、Pythonで数か月前にすでにクラスを構築していました。また、私の仕事を達成するために、Pythonのリスト、辞書、タプルがはるかに妥当です。しかし、私はこの場合のためにphpの配列を固執し、phpでクラス全体を書き直さなければならないようです:) – Shaokan

答えて

1

すべてのページリクエストでプロセスをフォークする場合は、パフォーマンスが低下します。あなたのpythonプロセスをデーモンとして実行し、ある種のキューイングやIPCを使って通信することを検討してください。

プロセスのフォークはコストのかかる操作であり、要求ごとに回避する必要があります。

プロセス間通信に関する提案:gearmanzeromqothersの中からお選びください。

関連する問題