答えは、それがどのようなプロセスであるかによって異なります。
長時間実行されるプロセス (少なくとも数秒)の場合、おそらく C++ で記述された外部プログラムは非常に簡単です。PHP 拡張機能の複雑さはなく、安定性は PHP/Apache に影響しません。パイプ、共有メモリ、または並べ替えを介して通信できます...
短時間実行されるプロセス (ミリ秒で測定) の場合は、PHP 拡張機能を作成する必要がある可能性が高くなります。これにより、呼び出しごとのオーバーヘッドがほとんどなく、非常に高速に呼び出すことができます。
もう 1 つの可能性は、Unix ドメイン ソケットをリッスンし、PHP が情報を要求したときに PHP にすばやく応答するカスタム サーバーです。次に、呼び出しごとのオーバーヘッドは基本的にソケットを作成しています(悪くはありません)。サーバーは任意の言語 (c、c++、python、erlang など) である可能性があり、クライアントは socket_*() 関数を使用する 50 行の PHP クラスである可能性があります。
この決定を下す前に、多くの情報を評価する必要があります。通常、PHP は、非常にタイトなループまたは何千回もの関数呼び出しが繰り返されるまで、スローダウンを示しません。つまり、HTTP リクエストのオーバーヘッドとネットワーク遅延により、通常、PHP の遅延は重要ではなくなります (上記に該当しない場合)。
- おそらくPHPで書くより良い方法はありますか?
- データベースにバインドされていますか?
- CPU バウンド、ネットワーク バウンド、または IO バウンドですか?
- 結果をキャッシュできますか?
- 面倒な作業を行うライブラリは既に存在しますか。
カスタム PHP 拡張機能にコミットすることで、それを維持するために必要な基礎知識が大幅に追加されます (C++ を超えても)。しかし、必要な場合には優れたオプションです。
詳細については、質問を更新してください。Stack Overflow が喜んでお手伝いします。