2012-03-15 7 views
1

コードハイライトのような非常にgithub-gistのようなコードスニップを生成するスクリプトがあります。PHPでのキャッシュファイルの読み込みが遅い

長いファイルをレンダリングするのに少し時間がかかるので、私はそれらをサーバー上のキャッシュファイルとして保存します。キャッシュファイルが存在する場合は、file_get_contentsを使用してファイルを取り出して吐き出します。

長いスナップショット(約257K相当のコード)を公開したばかりで、キャッシュファイルのロードにはちょうど1秒を要しています。

これは、ファイルのサイズが非常に長いようです。私はちょうどチェックし、50Kファイルは約0.4~5秒かかる。

この読み速度が遅くなる原因について考えてみましょうか?

+5

いくつかのコードを表示できますか? –

答えて

1

できる場合は、クライアント側の強調表示を使用してみます。 google-code-prettifyはこれによく見えます。

+0

私はこれを少し前に見ました。 Arduinoや処理のようなものについては、その時点でコードの強調表示を見つけることは困難でした。私はgeshiを使用しているので、ハイライターを作るのはかなり簡単です。病気はもう一度これを見てください。ありがとう。 –

1

file_get_contentsの代わりにreadfileを試しましたか?これはあなたに良い結果をもたらすかもしれません。

+0

私はやった、そしてそれはほとんど速かった。 5%未満のような速さ。 –

1

X-Sendfileを試してみてください。内蔵されているのはlighttpdnginxで、module for Apacheとして利用できます。

基本的には、メモリにロードしてから送信する代わりに、カスタム静的ファイルを提供するようWebサーバーに依頼するだけです。

+0

彼が読んでいるファイルが他の生成されたHTMLに埋め込まれている必要がある場合、これは動作しません。 – chiborg

+0

確かにそれはできません。しかし、ページ全体をキャッシュすることができます(ユーザーごとに調整しない限り)。 – CAFxX

関連する問題