出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

インクルードファイルについて   miniさん [2002/09/12 9:22:22] [2635]
  Re:インクルードファイルについて   北岳さん [2002/09/12 12:22:28] [2639]
    Re:インクルードファイルについて   北岳さん [2002/09/12 13:03:24] [2640]
    Re:インクルードファイルについて   miniさん [2002/09/12 13:06:52] [2641]

[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
Program By YasNet