出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
![]() ![]() ![]() ![]() ![]() |
![]() ![]() |
![]() ![]() ![]() |
[2635] インクルードファイルについて |
投稿者:miniさん 2002/09/12 9:22:22 |
こんにちは。 WEBアプリ作成において、同じようなコンボボックスや似たような関数が複数のページに存在する場合、その記述はあるファイルにまとめて、それを各ページからインクルードする方がよいのでしょうか? それともインクルードファイルは動作が遅く なるので、各ページに書いた方がいいのですか? 似たような関数等はたくさんあるのでひとつにまとめるとなると 大きなファイルになってしまいます。各ページはその中で全て使う 訳でもないのでインクルードすると軽いページも重くなってしまう のではとも思います。 よろしければ意見をお願いします。 |
[2639] Re:インクルードファイルについて |
投稿者:北岳さん 2002/09/12 12:22:28 |
ASP解析ルーチンは ---------【1】------------ <% 記述A %> <!-- #include file="記述B.inc" --> <% 記述C %> <!-- #include file="記述D.inc" --> <% 記述E %> --------------------- を読み込み、 文法ミスをチェックしながら、 インクルードファイルがあるとそのファイルを探して開き、スクリプト中に取り込みます。(*) 出来上がったスクリプトは、 ----------【2】----------- <% 記述A 記述B 記述C 記述D 記述E %> --------------------- となり、ASPの実際の処理は、【2】に対してなされます。 incファイルが長大で、解析や実行に時間がかかるものでも、【1】と【2】の時間差としては出てきません。 (構文解析や実行処理では、最初から【2】で書いても同じ時間がかかるから。) 最初から【2】で書いた場合との違いは、上記(*)の、 「インクルードファイルを開いて【2】を作る」 部分だけです。 1つのincファイルを開くためには、ファイルを探しに行く時間が余分にかかるので、 1回につき約0.01秒くらい遅くなる・・・かな? 「スクリプト中に取り込みます。(*)」といっても、 サーバが改めて【2】のaspファイルを作ってハードディスクに保存したりするわけではなく、 メモリに順序良く展開するだけです。 インクルードファイルの中身をメモリに展開する作業は、 最初からasp中にあったその部分をメモリに展開する作業と等しく、 時間差としては、やはり出てこない筈です。 ----------------------- >インクルードファイルは動作が遅くなるので、 ちょっと漠然としてますので、 Dolphin NetService掲示板のASP初心者さんの同一質問を引用しまして、 >includeを多く使うと処理自体が重たくなると聞いたのですが、やはりその通り >処理速度が遅くなるのでしょうか? 「処理速度が遅くなる」のは、厳密にはその通りでしょうが、デマに近いと思います。 仮に1000回も繰り返すfor〜nextの中にincludeファイルを置いたにしても、 実行の途中で1000回includeファイルを読み込むのではありません。 aspは最初に1回だけ、指定された全部のincludeファイルを読み込んで、連続したクリプトに変えてから、 処理を実行します。 includeを使う、使わないの時間差は、せ〜ぜ〜1秒未満で、ゴミ差と思います。 インクルードファイルは、VBのサブルーチンと同じく、どんどん使うほうが、 (スクリプトを書くときには)明らかに便利です。 ------------------------ >似たような関数等はたくさんあるのでひとつにまとめるとなると >大きなファイルになってしまいます。各ページはその中で全て使う >訳でもないのでインクルードすると軽いページも重くなってしまう のは、当然ですね。ひとつにまとめる必要性はないです。 |
[2640] Re:インクルードファイルについて |
投稿者:北岳さん 2002/09/12 13:03:24 |
(ああ、ご質問の意味が判りました。) 以下、補足です。 -----【1】------ <% 記述A sub y1() なんとか end sub %> ----------- このうち sub y1() なんとか end sub の部分をincluse fileに入れた場合、 ------【2】----- <% 記述A %> <!-- #include file="なんとか.inc" --> ----------- 【1】と【2】の時間差は、前述のようにゴミ差です。 ところが、 ------【3】----- <% 記述A %> <!-- #include file="膨大な関数群.inc" --> ----------- として、includeファイルの中身に余計な関数が沢山入っていると、 本来なら全然必要がないのに、 -----【4】------ <% 記述A ・・・ ・・・ sub y9999() なんとか end sub sub y10000() かんとか end sub %> ----------- 余計な関数全部の構文をチェックせななりません。 【3】と【4】は、思い切り時間がかかる可能性が出ます。 [再掲] ひとつにまとめる必要性はないです。 |
[2641] Re:インクルードファイルについて |
投稿者:miniさん 2002/09/12 13:06:52 |
北岳さん、ありがとうございました。 では、インクルードファイルをいつくか作って 必要なファイルだけ各ページから読み込む形にします。 |
TreeBBS For ASP V.0.1.3 |