動的ページ生成では外部ファイルを多量に読み込むと遅くなる

環境にもよるのだろうけれど。
以前はスピードアップ=転送量削減(と管理コスト削減)のために、JavaScript は常に外部ファイルとして読み込んでいた。例えば index.php から xxx.js を利用する場合、index.php が置き換わっても xxx.js は再読込されずにキャッシュが利用されるだろうから転送量が減る=表示が速くなるだろう、と思っていたのだ。
静的なページだと、IEの場合「index.html はキャッシュされたデータを利用できる」と判断すれば index.html から読み込んでいる xxx.js などの外部ファイルなどもキャッシュが有効と判断するし、おなじくxxx.js を利用するページ next.html を「初めて読み込んだ場合」には xxx.js の再読込は行わないので、こういう場合は転送量が減る。
だが、動的ページを作っていたら、スクリプトの量が増えてくるにつれてページの表示が遅くなってしまった。JavaScriptライブラリの数が増えて、転送量が多くなったからかな、JavaScriptコンパイルに時間がかかっているのかな、などと考えていたのだが、実はそうではなかった。ふと思いついて <script src="xxx.js"></script> の部分を <script><?php include("xxx.js"); ?></script> と置き換えてみたところ、画面の表示までにかかる時間があきらかに速くなったのだ。
外部ファイルの数が大きくなると、コネクションのオーバーヘッドが思っていたよりもかかる。というか、IE は「index.php がキャッシュされたデータを利用できない」と判断した場合、外部ファイルもすべて読みに行くようになっているのだから、転送量も増えるだけだ。