Wisteria > 秀丸マクロ >

変数アクセス時間ベンチマーク

2003/02/26

[古い文書] 秀丸エディタ v8.30β26 で、マクロの変数が多いときの速度が改善されました。新しいベンチマーク結果はこちら。(2013/04/28)

問題

結論

田楽利用の大ざっぱな目安としては

測定方法

  1. {文字列型配列|田楽グローバル}変数を n 個、 1 から順に{添字|名前}を変えて定義する。
  2. i 番目に定義した変数に 1000 回アクセスして時間を計り、平均をとる。

実行環境

DLL のロード・解放時間

「ロード→解放」で 14 ミリ秒前後。 DLL によって大きく異なる。(± 1 桁くらい)

loaddll hidemarudir + "\\DengakuDLL.dll";
freedll;

変数へのアクセス時間

read は読み込み先変数への書き込み時間を含む。

単位:ミリ秒/回

ni配列田楽
writereadwriteread
110.070.080.160.15
1010.100.160.160.15
10100.120.140.200.16
5010.320.410.150.15
50500.350.420.320.29
10010.590.630.160.15
1001000.670.680.460.48
50012.632.850.160.16
5005002.863.061.701.61
100015.295.670.170.16
10001005.335.730.470.46
10002005.365.770.760.72
10003005.405.801.121.06
10004005.445.811.421.37
10005005.505.901.651.60
10006005.525.921.951.90
10007005.585.972.382.33
10008005.656.042.542.49
10009005.686.083.032.96
100010005.746.133.203.15
10000159.0863.540.160.16
10000100  0.470.43
100001000  3.393.35
1000010000  4.854.76

テストプログラム

自作 Benchmark.mac を改変したもの。ループ制御変数の演算時間などは結果に含まれないようになっている。