ページ 11

関数の呼び出し時間と引数の型の関係

Posted: 2013年6月30日(日) 23:36
by bonbo
早速ですが質問させていただきます。
タイトルのとおりなのですが、
関数の呼び出しにかかる時間と引数の型の大きさは関係しているのでしょうか。

たとえば
int 型の引数を持つ関数

コード:

void test(int test){
return;
}
と、たくさんの要素を持つ構造体TST型を引数に持つ関数

コード:

typedef struct{
int a0[100];
int a1[100];
int a3[500];
}TST;
void test(TST test){
return;
}
のそれぞれをそれぞれ1000回呼び出すとすると、実行時間には差が出てくるのでしょうか。

よろしくお願いします。

Re: bonbo

Posted: 2013年6月30日(日) 23:39
by みけCAT
まず、自分で実験してみましょう。
実験方法がわかりませんか?
1000回ではなく、1000000000回くらい繰り返すといいかもしれません。
コンパイラの最適化をかけてはいけないことに注意してください。

Re: 関数の呼び出し時間と引数の型の関係

Posted: 2013年6月30日(日) 23:54
by softya(ソフト屋)
名前とタイトルが逆だったので直しておきました。

Re: 関数の呼び出し時間と引数の型の関係

Posted: 2013年6月30日(日) 23:59
by bonbo
>みけcatさん
ありがとうございます。
VSで100000回ほど実行してみたところ0.5秒ほど差がありました。
ありがとうございました。
>名前とタイトルが逆だったので直しておきました。
すみません…ありがとうございます。

Re: 関数の呼び出し時間と引数の型の関係

Posted: 2013年7月01日(月) 00:05
by softya(ソフト屋)
ちなみに引数は別変数への代入ですから、sizeof()でわかるサイズと速度は密接に関係します。