1

コードの強調表示を使用して、非常に github-gist のようなコード スニップを生成するスクリプトがあります。

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

長いスニップ (約 257K 相当のコード) の 1 つを公開したところ、キャッシュ ファイルの読み込みに 1 秒強かかります。

これは、そのサイズのファイルにとって非常に長い時間のようです。確認したところ、50,000 個のファイルに約 0.4 ~ 0.5 秒かかっています。

この遅い読み取り速度の原因について何か考えはありますか?

4

3 に答える 3

1

可能であれば、クライアント側の強調表示を使用してみてください。 google-code-prettifyはこれに適しています。

于 2012-03-15T13:05:57.317 に答える
1

X-Sendfile を使用してみてください。lighttpdnginxに組み込まれているか、Apache のモジュールとして利用できます。

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

于 2012-03-15T15:37:49.553 に答える
1

readfileの代わりに使用してみましたfile_get_contentsか? これにより、より良い結果が得られる場合があります。

于 2012-03-15T13:11:02.137 に答える