> VAX-11 (バックスイレブン)
>しかし,今使っている「パソコン」よりは遅いのです (^^;
その当時の行ったベンチマークテストの結果がありましたので,
ちょっと,現在の自宅のマシンと比較してみました.
テストコードです.畳み込み積分という計算を実行するものです.
残念ながら,VAX-11 でのテストは,計測時間が 1 桁しか精度がありません.
結果,現在の自宅のマシンの方が,約 1600 倍,計算速度が速いことになります.
//-----------------------------------------------------------------------------
// VAX-11/780 FP(浮動小数点演算)ユニット付きの場合
// Kのループが1回だけで0.03秒なので下のコードに相当する処理だと300秒となる
//
// uses にMMSystemが必要
//-----------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
CONV : array [1..64] of Real;
PROJ : array [1..64] of Real;
FILT : array [1..64] of Real;
I : Integer;
J : Integer;
L : Integer;
K : Integer;
TimeStart : Cardinal;
LTime : Real;
begin
TimeStart := timeGetTime;
for K := 1 to 100000 do begin
for I := 1 to Length(CONV) do begin
CONV[I] := 1;
PROJ[I] := 1;
FILT[I] := 1;
end;
L := 1;
for J := 1 to Length(CONV) do begin
CONV[J] := 0;
for I := 1 to Length(CONV) do begin
CONV[J] := CONV[J] + PROJ[I] * FILT[Integer(Abs(I - L)) + 1];
end;
L := L + 1;
end;
end;
LTime := (timeGetTime - TimeStart) / 1000;
Panel1.Caption := FormatFloat('##0.000', LTime);
end;
当時のベンチマークテストに使った Fortran のコードです.
Fortarn は FORTRAN 77 (フォートラン セブンセブン) です.
C ---------------------------------------------------------------------
C TEST2
C REAL*4 TEST
REAL*4 CONV(64),PROJ(64),FILT(64)
DO 40 I=1,64
CONV(I)=1
PROJ(I)=1
FILT(I)=1
40 CONTINUE
TYPE *,'----> START '
L=1
DO 60 J=1,64
CONV(J)=0
DO 70 I=1,64
CONV(J)=CONV(J)+PROJ(I)*FILT(IABS(I-L)+1)
70 CONTINUE
L=L+1
60 CONTINUE
TYPE *,'----> END'
STOP
END
C ---------------------------------------------------------------------
|