de-vraag
  • 質問
  • タグ
  • ユーザー
通知:
報酬:
登録
登録すると、質問に対する返答やコメントが通知されます。
ログイン
すでにアカウントをお持ちの方は、ログインして新しい通知を確認してください。
追加された質問、回答、コメントには報酬があります。
さらに
ソース
編集
 Pelsono
Pelsono
質問

マルチスレッドプログラムの測定時間

私は機能時計()で時間を測定しましたが、結果は悪かったです。つまり、1つのスレッドで同じプログラムを実行し、OpenMPで多くのスレッドを実行している同じプログラムに対して同じ結果が得られるということです。しかし、実際には、私は多くのスレッドプログラムの数がより速いことを私の時計で知っています。 だから私は壁時計のタイマーが必要です...

私の質問は次のとおりです。この問題に対して、より良い機能は何ですか? clock_gettime()またはmb gettimeofday()?何か他に何かありますか?

もしclock_gettime()ならば、どの時計ですか? CLOCK_REALTIMEまたはCLOCK_MONOTONIC?

mac os x(snow leopard)を使用して

1 2011-10-27T15:42:30+00:00 2
 user7116
user7116
編集された質問 27日 10月 2011 в 4:10
プログラミング
c
time
parallel-processing
osx-snow-leopard
Dmitri
27日 10月 2011 в 4:12
2011-10-27T16:12:11+00:00
さらに
ソース
編集
#56790239

ウォールクロックの時間が必要で、 clock_gettime()が利用可能な場合は、これが良い選択です。時間間隔を測定する場合は CLOCK_MONOTONIC 、実際の時刻を取得する場合は CLOCK_REALTIME で使用してください。

CLOCK_REALTIME gives you the actual time of day, but is affected by adjustments to the system time -- so if the system time is adjusted while your program runs that will mess up measurements of intervals using it.

CLOCK_MONOTONIC doesn't give you the correct time of day, but it does count at the same rate and is immune to changes to the system time -- so it's ideal for measuring intervals, but useless when correct time of day is needed for display or for timestamps.

3
0
Jason
27日 10月 2011 в 4:10
2011-10-27T16:10:18+00:00
さらに
ソース
編集
#56790238

私はclock()がすべてのスレッドの中で合計CPU使用量を数えていると思いますが、私もこの問題がありました...

ウォールクロックのタイミング方法の選択は個人的な好みです。私はタイムスタンプを取るためにインラインラッパー関数を使用しています(2つのタイムスタンプの差を取って処理時間を取る)。私は便宜のために浮動小数点を使用しています(単位は秒であり、整数のオーバーフローについて心配する必要はありません)。マルチスレッドでは、私の意見では1マイクロ秒以下の時間に意味をなさない非常に多くの非同期イベントがあります。これはこれまで私にとって非常にうまくいきました:)

どのようなものを選んでも、ラッパーは実験する最も簡単な方法です

inline double my_clock(void) {
  struct timeval t;
  gettimeofday(&t, NULL);
  return (1.0e-6*t.tv_usec + t.tv_sec);
}

使用法:

double start_time, end_time;
start_time = my_clock();
//some multi-threaded processing
end_time = my_clock();
printf("time is %lf\n", end_time-start_time);
1
0
質問の追加
カテゴリ
すべて
技術情報
文化・レクリエーション
生活・芸術
科学
プロフェッショナル
事業内容
ユーザー
すべて
新しい
人気
1
Roxana Elizabeth CASTILLO Avalos
登録済み 17時間前
2
Hideo Nakagawa
登録済み 1日前
3
Sergiy Tytarenko
登録済み 3日前
4
shoxrux azadov
登録済み 5日前
5
Koreets Koreytsev
登録済み 1週間前
© de-vraag :年
ソース
stackoverflow.com
ライセンス cc by-sa 3.0 帰属