コール回数が5000回を越えるようになる。このような時には、is_page()全体の処理をメモリにキャッシュすることで、is_page()の実行時間を極力下げることがやや有効らしい。メモリオーバーヘッドは状況が悪化するにつれ指数関数的に増大すると思われる。この状況では、AutoLinkの処理自体がボトルネックになっているようである。そちらをチェックするのはどうか。実際のページ数よりも多くis_page()がコールされる状況がそもそもよろしくない。AutoLinkの表示上の問題をスマートに解決できないものか。†キャッシュをどこに持つべきか、持たないべきか。細かいパフォーマンスチューニングについて。出すまでの時間がとても長くなります。調整する場合を考えます。送り返すまでの時間を計測し、秒で出します。$autolink=8(デフォルトの設定)original15.728094816215.42630696315.583879947715.536007165915.464808940915.450471878115.68436098115.736016035115.59630918516.0735969543modified14.76434397714.763033866914.803026914615.048341035814.865026950814.822422027614.943701982515.061381101614.790618896515.3033359051おぉ。程度の高速化で済んだ。$autolink=0original1.454024076461.428362131121.43527483941.434104919431.43086504936modified1.550059080121.451771974561.465571880341.487460851671.49871683121こちらは若干速度が落ちます。当然のことですが、ハードウェアの構成などで測定数値の状況は変わります。上の数字はあくまで私の手元で実験した時の数字です。副作用として通常のページ表示で若干遅くなると推測されます(こちらは未測定)。18:18:01あー。一回計ってみましょう。PHPのファイルシステムキャッシュをリセットする、PHPの関数です。これをコメントアウトするとキャッシュされっぱなしになるので、コメントアウトしてはいけませんです。