2016-06-29 2 views
1

背景
私は機能/API/GenerateImageが呼び出された画像を返すRESTfulなAPIをホスティングするPHPサーバを持っています。私はこれを達成するための方法を使って、最速と最低のメモリが必要です。PHPからの集中的な機能への最速のアクセス?

アイデア
私はこれを達成するためのいくつかの方法を考えることができますが:

  1. はPHPで完全にそれを書く - 画像は、バイト操作の多くを必要とし、PHPでこれを行うには悪い感じています。
  2. 継続的に動作するC#プログラムを作成し、APIを使用してイメージを生成し、PHPを使用してレスポンスストリームをクライアントにコピーします。不要なソケット接続のオーバーヘッドを避ける必要があります。
  3. 呼び出されたときにPHPが読み書きするファイルに画像を生成して保存するC/C++コマンドラインプログラムを書く - プログラムの開始、ファイルへの書き込み、それに読み込みによるオーバーヘッドを避ける必要がある。
  4. C/C++で記述し、PHPライブラリラッパーを使用してPHPから直接関数を呼び出します。単一の関数では最も速くて難しいと思われます。
+1

クローズアップに投票したユーザーの皆様、理由を説明してください。質問はhttps://stackoverflow.com/help/how-to-askのすべての提案を満たしており、明確で答えがあります。 – Hele

答えて

2

私には2つの最も明白な解決策は、オプションのあなたのセットから欠席ようだ:

  • 使用PHPのGD拡張。
  • imagemagickを使用してください。

これらが実用的なオプションであるかどうかは、画像と正確に何をする必要があるかによって異なります。静的な画像の場合は、何も必要ありません。ウェブサーバーからファイルとして提供するだけです。イメージを生成するためにコードが必要なことは、イメージが動的に生成されることを意味します。

最後の(4番目の)ソリューションが最も速いですが、3番目のソリューションの修正版は最もシンプルになります。画像データを返すコマンドラインプログラムを作成します。 stdoutを呼び出し、それをPHPから呼び出します。

関連する問題