Windows版AMUSAのベンチマークテスト

Windows版Amusaについて、画面出力およびキーボード・マウス等の入力に関係しない部分についてテストプログラムを作り100万回の繰り返しにかかった時間を測定しました。

測定環境
HostOS Windows2000 Profesional
Memory 256M Byte
CPU Pentium3 600Mhz
HD IDE 20G Byte NTFSフォーマット
データベース構造 結果保存用
計測用

(0は測定限界以下をあらわしています。)

カテゴリー 測定項目 付記 秒数
制御系
if A=B then 文 if文が真である場合の分岐にかかる秒数

3.03

else endif if文が偽である場合の分岐にかかる秒数

3.68

switch case 文 switch文の値に対するcase文への分岐にかかる秒数

1.75

loop endloop文 loop文とendloop文の間の繰り返しにかかる秒数

0.11

repeat until文 repeat文とuntil文による評価の間の繰り返しにかかる秒数

3.65

while wend文 while文による評価とwend文の間の繰り返しにかかる秒数

3.36

class.call文 クラスを指定した外部プロシージャの呼び出し復帰にかかる秒数

118.28

rem文 rem文にかかる秒数

0.26

演算系
+演算 数値同士の加算にかかる秒数

2.82

-演算 数値同士の減算にかかる秒数

2.89

*演算 数値同士の乗算にかかる秒数

2.37

/演算 数値同士の除算にかかる秒数

2.31

NS演算 数値と文字列の連結にかかる秒数

12.54

ND演算 数値と日付の連結にかかる秒数

24.10

SS演算 文字列同士の連結にかかる秒数

2.54

SN演算 文字列と数値の連結にかかる秒数

13.03

SD演算 文字列と日付の連結にかかる秒数

8.84

DN演算 日付に対すつ加算にかかる秒数

24.34

DS演算 日付と文字列の連結にかかる秒数

27.10

DD演算 日付同士の間の減算にかかる秒数

24.15

変数参照 メモリー変数の値への参照にかかる秒数

0.86

変数代入 メモリー変数への値の代入にかかる秒数

2.01

配列参照 メモリー変数配列への参照にかかる秒数

0.56

配列代入 メモリー変数配列への値の代入にかかる秒数

2.54

関数系
abs関数 絶対値を求めるための秒数

1.29

asc関数 文字のアスキーコードを求めるための秒数

1.40

cos関数 コサインを求めるための秒数

1.18

date関数 本日を求めるための秒数

7.00

day関数 日付から日を求めるための秒数

1.75

fix関数 fixの値を求めるための秒数

1.37

hex関数 16進数を求めるための秒数

2.29

instr関数 文字列の中に含まれる文字の位置を求めるための秒数

1.95

int関数 整数を求めるための秒数

1.29

jweek関数 日付から曜日を日本語で求めるための秒数

8.62

lastkey関数 最後に押されたキーの値を求めるための秒数

0.53

len関数 文字列の長さを求めるための秒数

1.40

left関数 文字列の先頭から指定文字数を切り出す

2.00

log関数 自然対数を求めるための秒数

1.14

ltrim関数 文字列の先頭の空白を取るための秒数

1.76

max関数 2値の大きい値を求めるための秒数

1.29

mid関数 文字列の指定した位置から文字列を切り出すための秒数

2.42

min関数 2値の小さい値を求めるための秒数

1.29

month関数 日付から月を求めるための秒数

1.75

pai関数 円周率を求めるための秒数

0.51

right関数 文字列の終端から指定した文字数を切り出すための秒数

2.21

rtrim関数 文字列の末尾の空白を取るための秒数

1.81

secont関数 時間を表す文字列の0時0分0秒からの経過時間を求めるための秒数

2.09

setesc関数 文字列入力から脱出するためのデリミタを指定するのにかかる秒数

1.79

sin関数 サインを求めるための秒数

1.20

space関数 指定した大きさの空白文字列を作るための秒数

1.34

sqr関数 平方根を求めるための秒数

1.10

str関数 数値の文字列化にかかる秒数

10.31

tan関数 タンジェントを求めるための秒数

1.26

time関数 現在時刻を求めるための秒数

7.79

tod関数 文字列から日付型の値を求めるための秒数

2.57

trim関数 文字列から空白を取り除くための秒数

2.04

type関数 値の形を求めるための秒数

1.04

using関数 値の整形にかかる秒数

17.93

val関数 文字列の数値化にかかる秒数

1.70

week関数 日付の曜日を求めるためにかかる秒数

8.31

wildcomp関数 文字列をワイルドカードで評価するための秒数

1.92

year関数 日付から年を求めるための秒数

1.92

データベース系
append関数 1,000,000レコードの追加を行ったときの秒数

289.54

update関数 1,000,000レコードのデータ更新にかかった秒数

137.90

フィールド参照 フィールドの値を求める

3.82

フィールド代入 フィールドへの代入

22.50

配列フィールド参照 配列フィールドの値を求める

5.35

配列フィールド代入 配列フィールドへの代入

26.37

別名フィールド参照 alias化されたフィールドへの参照

4.50

別名フィールド代入 alias化されたフィールドへの代入

25.90

field関数 フィールド番号で値を求める

3.14

setfield関数 フィールド番号を指定して値を代入

22.00

forward関数 1,000,000件のレコードポインタを進めるのにかかった秒数

43.64

back関数 1,000,000件のレコードポインターを後退させるのにかかった秒数

44.01

top/botom関数 レコードポインターを先頭/終端移動する

96.43

find関数 索引による1,000,000件の検索を行ったときの秒数

227.231

bind関数 索引による1,000,000件の絞込みを行ったときの秒数

271.81

where関数 索引による1,000,000件の絞込みタイプ2を行ったときの秒数

289.78


※データベースベンチマークに関しては、ファイル共有形式で行っております。
排他制御に関するファイル共有固有のデメリットを含んでいることをご考慮ください。
2000年10月23日現在

戻る