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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
bonbo

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

#1

投稿記事 by bonbo » 12年前

早速ですが質問させていただきます。
タイトルのとおりなのですが、
関数の呼び出しにかかる時間と引数の型の大きさは関係しているのでしょうか。

たとえば
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回呼び出すとすると、実行時間には差が出てくるのでしょうか。

よろしくお願いします。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: bonbo

#2

投稿記事 by みけCAT » 12年前

まず、自分で実験してみましょう。
実験方法がわかりませんか?
1000回ではなく、1000000000回くらい繰り返すといいかもしれません。
コンパイラの最適化をかけてはいけないことに注意してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#3

投稿記事 by softya(ソフト屋) » 12年前

名前とタイトルが逆だったので直しておきました。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

bonbo

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

#4

投稿記事 by bonbo » 12年前

>みけcatさん
ありがとうございます。
VSで100000回ほど実行してみたところ0.5秒ほど差がありました。
ありがとうございました。
>名前とタイトルが逆だったので直しておきました。
すみません…ありがとうございます。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

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

#5

投稿記事 by softya(ソフト屋) » 12年前

ちなみに引数は別変数への代入ですから、sizeof()でわかるサイズと速度は密接に関係します。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る