問題タブ [gettimeofday]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 2 つの gettimeofday インスタンスを減算する方法は?
2 つの gettimeofday インスタンスを減算し、ミリ秒単位で答えを提示したいと考えています。
アイデアは次のとおりです。
次に、「tv3」をミリ秒の解像度に変換します。
c - Slow initial timing results using gettimeofday - worse under RHEL6 Server
I am using gettimeofday()
to time a simple matrix multiply example, but I'm getting results that are close to twice too long initially. On a RHEL6 Server machine, I'm getting "bad" timing results for up to nearly 1 second (~65 individual timings in this example). All our other machines are RHEL5 Workstation boxes and this code works much better on them; I only get a couple of "bad" results initially (for first ~20 milliseconds).
From posts on this site, I think this probably has something to do with the OS process scheduler. If I uncomment the first "for" statement below (thereby inserting an initial busy loop by repeatedly initializing the matrices a, b and c), I get zero "bad" results under both RHEL5 Workstation and RHEL6 Server. Alternatively, if I uncomment the sleep statement, I get ALL "bad" timing results for both RHEL5 & RHEL6.
For some reason, my process is starting up with only about half the access to the CPU initially, then it gets "full" access to the CPU as long as the process stays busy. If it "sleeps" and then resumes timing, it again is temporarily only getting about half the full access to the CPU.
Nothing else is happening on the machine (X is not running). I have tried "chrt" to control the priority of the process, but that changed nothing. I've verified this occurs with both GCC 4.4.6 and ICC 12.1.0. I've tried "nice" as well.
Here's the code:
and here are the results:
I experience the problem regardless of optimization level (-O0, -O1, -O2, etc.).
Does anyone know anything about how scheduling is done under RHEL6 Server? Is it so very different from RHEL5 Workstation? I presume the difference I'm seeing is more a function of the fact that one box is a server edition of RHEL and the other is a workstation edition (rather than the difference between release 5 vs. 6). Is there some simple way to reduce this effect under RHEL6 Server and make it act more like the RHEL5 Workstation boxes?
Any ideas? Thanks.
c - timeval structとgettimeofdayを使用した奇妙なエラー—#defineのセミコロンが原因
奇妙なコンパイルエラーがいくつか発生します。これは宿題用です(ヘルプは大丈夫です)。アイデアは、ユーザーが1秒に1回「Enter」を押すことができるかどうかをテストするプログラムを実装することです。gettimeofdayを使用して、各「入力」の時間値を取得し、平均時間と標準偏差を確認することになっています...stdinで「\n」をチェックしてからtrue、gettimeofdayを使用してtimeval構造体にデータを入力し、後で使用するためにその構造体を配列に格納します...
コンパイル時に発生するエラー(gcc -Wextra homework1.c
)は次のとおりです。
最初の2つの構文エラーが発生する理由がわかりません。また、「main」の先頭で「entry_array」を明確に宣言しているのに、なぜ「entry_array」が宣言されていないのか理解できません。提案?
timeval構造体の使い方がわからないのでやけどをしているような気がします...最初は他の構造体と同じように構造体timevalをグローバルに定義しようとしましたが、structtimevalの定義を上書きするときにエラーが発生しました。 。これは、「sys / time.h」ライブラリで定義されているためですか?
コードは次のとおりです。
c++ - C++: fmodf() & fmod() - 奇妙な結果?
そのため、その日の秒を取得できる方法が必要だったので、fmod()
& gettimeofday()
(Mac OSX) をいじりました。ただし、途中でいくつかの奇妙な結果になりました。
出力:
fmodf: 5760
fmod: 5700.17
fmodf: 5760
fmod: 5701.17
fmodf: 5760
fmod: 5702.17
fmodf: 5760 fmod
: 5703.17 fmodf : 5760 fmod: 5704.17 fmodf : 1.5
では、バージョンが期待される結果 (呼び出し後に変更)を提供するのに、バージョンがfmodf()
毎回同じ出力を提供するのはなぜですか? ドキュメントに何か欠けていますか?fmod()
sleep()
c++ - gettimeofdayは負の値を返します
私はスレッドライブラリを作成しています。スレッドをスケジュールするときは、スレッドの準備ができている時間を知る必要があります。すべてのスレッドインスタンスにはtimeval _timeInReady
フィールドがあり、インスタンスをレディキューにプッシュすると、次の関数が呼び出されます。
現在の値を確認したい場合は、次の_timeInReady
ように呼び出します。
ここで、TIMEは#define TIME(a,b) ((a*1000000) + b)
、合計時間をマイクロ秒単位で取得するためのものです。
私の問題は、しばらくしてそのフィールドをチェックすると、何らかの理由で、クレイジーな負の値(-10293843など)が発生することです。
何か案は?ありがとう!
c - 関数に時間がかからないように見せるための gettimeofday/settimeofday
かなりコストのかかるいくつかの操作を行う補助関数があります。
アルゴリズムのメイン セクションをプロファイリングしようとしていますが、この補助関数は内部で頻繁に呼び出されます。したがって、測定時間には補助機能の時間が考慮されます。
これを解決するために、補助機能が瞬時に見えるように時間を設定して復元することにしました。次のマクロを定義しました。
. . . それらを補助関数の最初と最後の行として使用しました。ただし、何らかの理由で、補助関数のオーバーヘッドがまだ含まれています。
だから、私はこれが厄介な解決策であることを知っています. 誰かが理由を説明してもらえますか?
perl - gettimeofdayの時差は時々負になります
私はperlでオブジェクト指向OpenGLフレームワークを書いていますが、各フレーム間のDeltaTimeを測定すると、奇妙な問題が発生します。デルタ時間は時々(〜.5秒ごとに)負になるようです。これがgettimeofdayの問題なのか、GLUTがコールバックを呼び出す方法の問題なのかはわかりませんが、スプライトの動きが0.5秒ごとにわずかにジャンプするため、かなり面倒です。
これが私の過剰なメインループ関数です:
そして、これが出力です:
WTF!時間のパラドックスに遭遇しました!この関数の最後の呼び出しは-0.0171449184417725秒前です...現在の時刻:1340196716.27624、最後の呼び出し:1340196716.29339このエラーは0.482785940170288秒前に発生しました。
WTF!時間のパラドックスに遭遇しました!この関数の最後の呼び出しは-0.0132658481579秒前です...現在の時刻:1340196716.74632、最後の呼び出し:1340196716.75959すでに0.470081090927124秒前にこのエラーが発生しました。
WTF!時間のパラドックスに遭遇しました!この関数は、最後に-0.011317 9683685303秒前に呼び出されました...現在の時刻:1340196717.21836、最後の呼び出し:1340196717.22968このエラーは0.472035884857178秒前に発生しました。
WTF!時間のパラドックスに遭遇しました!この関数の最後の呼び出しは-0.0152010917663574秒前です...現在の時刻:1340196717.68649、最後の呼び出し:1340196717.70169このエラーは0.468127012252808秒前に発生しました。
c++ - 'clock_gettime'および'gettimeofday'の奇妙なタイミング結果
clock_gettime
非推奨を参照として使用して、の信頼性を確認したかったのgettimeofday
ですが、時々奇妙な結果が得られます。
構築して実行すると、正しい結果が得られることがあります。
しかし、時々、私はそれほど幸運ではありません:
あるいは:
これをi686とamd64の両方で試しましたが、同様の結果が得られました。私も試しnanosleep
ましたが、同じ悲しい結果になりました。
c++ - Windows の時間関数で srand() をフィードする
以下のコードのパッチの正確な Win 実装を探しています。私は優れたプログラマーではなく、最初は UNix のコードを使用していましたが、Win 用にできるだけ変更する必要はありません。主な問題は「gettimeofday」であり、Winに相当するものがないことをグーグルで理解しています。ただし、できるだけ同じプログラム構造を保持したいと考えています。
c - gettimeofday からの時間が更新されない
このコードによって生成されたバイナリを繰り返し実行すると、同じ時間値が得られる傾向があります。
これは、更新された時間値を取得する数秒後まで発生します。