新しく発言する EXIT インデックスへ
プログラムの高速化

  プログラムの高速化 山中和義 2006/02/21 12:42:07 
  理屈の上では,関数の場合,配列のコピーを... 白石 和夫 2006/02/21 16:25:15 

  プログラムの高速化 山中和義 2006/02/21 12:42:07  ツリーへ

プログラムの高速化 返事を書く
山中和義 2006/02/21 12:42:07
下記のプログラムの場合、関数/副プログラム化する必要はないが、
配列を引数で渡すとき、関数/副プログラムで処理速度に差がでる。

事例1

●関数版
DIM p(320,240)
FOR y=1 TO 240
FOR x=1 TO 320
LET c=GetPixel(p,x,y)
PRINT c
NEXT x
NEXT y

FUNCTION GetPixel(p(,),x,y)
LET GetPixel=p(x,y)
END FUNCTION
END


●副プログラム版
DIM p(320,240)
FOR y=1 TO 240
FOR x=1 TO 320
CALL GetPixel(p,x,y, c)
PRINT c
NEXT x
NEXT y

SUB GetPixel(p(,),x,y, c)
LET c=p(x,y)
END SUB
END

  理屈の上では,関数の場合,配列のコピーを... 白石 和夫 2006/02/21 16:25:15  ツリーへ

Re: プログラムの高速化 返事を書く
白石 和夫 2006/02/21 16:25:15
理屈の上では,関数の場合,配列のコピーを作るので遅くなるはずです。実測結果はどうなりますか?


インデックスへ EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。