私はこれまで、作業効率をあまり考慮せずに、気軽に ASP プログラムを作成してきました。 ASP は構文に対する耐性が高く、変数を定義せずに直接使用できます。また、ASP ファイル名は大文字と小文字を区別する必要がありません。したがって、私がこれまでに接してきた多くの言語の中で、ASP は最も厳格でなく、プログラマーに対する要件も最も低い言語です。
昨日、asp.net、php、および asp の実行速度の比較をテストしました。今日は、定義済みの変数と未定義の変数が asp の実行効率にどの程度の影響を与えるかを確認したいと思いました。その結果は、驚くべきことに、asp プログラムの方が変数を定義しています。未定義の変数よりも 2 倍高速です。
テストプログラムは昨日と同じで、forループを1000万回実行して実行時間を取得します。
1. プログラムは変数を定義していません (dim i)
次のようにコードをコピーします。
<%
薄暗いスタータイム
スタータイム=タイマー()
for i = 1 ~ 10000000
次
薄暗い終わり時間
終了時間=タイマー()
response.Write ページの実行時間: & FormatNumber((endtime-starttime)*1000,3) & ミリ秒
%>
2. プログラムは変数を定義します (dim i)
次のようにコードをコピーします。
<%
薄暗い私
薄暗いスタータイム
スタータイム=タイマー()
for i = 1 ~ 10000000
次
薄暗い終わり時間
終了時間=タイマー()
response.Write ページの実行時間: & FormatNumber((endtime-starttime)*1000,3) & ミリ秒
%>
各プログラムを5回(初回を除く)実行し、その平均値をとります。テスト結果は次のとおりです。
変数を定義する | 実行時間 | 平均時間 | ||||
いいえ | 1890ミリ秒 | 1859ミリ秒 | 1844ミリ秒 | 1875ミリ秒 | 1859ミリ秒 | 1865ミリ秒 |
はい | 890ミリ秒 | 890ミリ秒 | 984ミリ秒 | 875ミリ秒 | 890ミリ秒 | 905ミリ秒 |
上記のテスト結果から、変数を定義すると、変数を定義しない場合に比べて、asp の実行速度が 2 倍速くなることがわかります。
なぜそうなるのかについては、私は詳しく調べていません。しかし、今回の例を通して、プログラミングを標準化することでより効率的にプログラムを実行できることを実感しました。非標準プログラミングの場合、言語自体は耐障害性がありますが、解析プロセスに時間がかかります。もちろん、単純なプログラムの場合、標準化と非標準化の間の時間の差は最小限である可能性がありますが、開発するシステムが比較的大規模で、多くのページと関数呼び出しがある場合、標準化と非標準化の間の差は次のようになります。 1 ~ 2 倍から数十倍までの時間の違いが強調されるのは驚くべきことではありません。