問題タブ [nanotime]

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.

0 投票する
1 に答える
256 参照

java - 誰かが System.nanoTime() のこの説明を説明できますか?

This method provides nanosecond precision, but not necessarily nanosecond accuracy. No guarantees are made about how frequently values change. Differences in successive calls that span greater than approximately 292 years (263 nanoseconds) will not accurately compute elapsed time due to numerical overflow.

値が正確でなく、数値オーバーフローの背後にあるロジックがどのようになっているのかわかりません。

0 投票する
2 に答える
10787 参照

java - 1e9d で割る とはどういう意味ですか?

これはスニペットです:

someTimeを使用して導出されSystem.nanoTime()ます。ここで何をし1e9dますか?

0 投票する
1 に答える
3212 参照

c++ - clock_gettimeを使用したarduinoでのナノ秒測定

ArduinoとXbee Zgを使用してローカリゼーションプロジェクトを作成し、84 Mhzクロックarduino 1.5.2 IDEを備えたarduino dueボードを使用して、ナノ秒の解像度で時間を測定する必要があります

clock_gettime関数 を使用しようとすると、すでに time.h が含まれていますが、同じコンパイルエラー clock_gettime が発生しますが、このスコープでは宣言されていません

これは私の Distance_Measurement.c ファイルの一部です

私を助けてください

0 投票する
2 に答える
2431 参照

java - System.nanoTime と System.currentTimeMillis

そのドキュメントによると、 System.nanoTime は 、固定されているが任意の起点 time からナノ秒を返します。ただし、以下のコードを試したすべての x64 マシンで、タイム ジャンプが発生し、固定された起点が移動しました。別の方法 (ここでは currentTimeMillis) を使用して正しい時刻を取得する方法には、何らかの欠陥がある可能性があります。ただし、相対時間 (期間) を測定するという主な目的にも悪影響があります。

さまざまなキューを LMAX の Disruptor と比較すると、レイテンシが非常にマイナスになることがあり、レイテンシを測定しようとしてこの問題に遭遇しました。このような場合、開始と終了のタイムスタンプは異なるスレッドによって作成されましたが、レイテンシはそれらのスレッドが終了した後に計算されました。

ここでの私のコードは、nanoTime を使用して時間がかかり、currentTimeMillis 時間で固定起点を計算し、呼び出し間でその起点を比較します。ここで質問しなければならないので、このコードの何が問題なのですか? 原産地固定契約の違反を観察するのはなぜですか? それともそうではありませんか?

今、私はいくつかの小さな変更を加えました。基本的に、nanoTime 呼び出しを 2 つの currentTimeMillis 呼び出しの間にまとめて、スレッドが再スケジュールされているかどうかを確認します (currentTimeMillis の解像度よりも長くかかるはずです)。この場合、ループ サイクルは無視します。実際、nanoTime が十分に高速であることがわかっている場合 (Ivy Bridge などの新しいアーキテクチャのように)、currentTimeMillis を nanoTime で囲むことができます。

これで、10 ミリ秒を超える長いジャンプはなくなりました。代わりに、スレッドごとに最初のオリジンから 2 ミリ秒以上離れたときにカウントします。私がテストしたマシンでは、100 秒の実行時間で、呼び出しの間に常に 200.000 近くのジャンプがあります。currentTimeMillis または nanoTime のいずれかが不正確であると思われるのは、このような場合です。

0 投票する
1 に答える
380 参照

java - UUID.randomUUID() を使用してメソッドを複数回呼び出していますか?

クラスの割り当てでは、UUID.randomUUID().toString() を使用してさまざまなリストのパフォーマンスを比較し、数千のランダムな文字列をリストに挿入し、nanoTime() メソッドでかかる時間を記録する必要があります。リストの add メソッドへの呼び出しの量を特定の数に設定する方法、または少なくとも UUID.randomUUID() を使用してそれを行う方法を思い出せません。

もちろん、ランダムな文字列を1つ挿入するだけです。

これはおそらく簡単な質問だと思いますが、グーグルやここで答えが見つからなかったので、助けていただければ幸いです! ありがとう。

0 投票する
3 に答える
563 参照

java - 連続コイン投げ

Javaの知識が不足していることをあらかじめお詫びします。私はJavaプログラミングが初めてで、コインを投げて、コインがN回のロール以内に表に出た回数を数え、そうするのにかかる時間を測定し、それを印刷するプログラムを作成しようとしています. .txt ファイルに保存できるようにします。私はほとんどそれを手に入れたと思います。ただ今、印刷するのに苦労しています。どんな助けでも大歓迎です!私は立ち往生しています!

0 投票する
2 に答える
715 参照

java - Java: 実行に時間がかかりすぎる System.nanoTime() ソート関数を使用する

さまざまな配列サイズでさまざまな並べ替え方法の合計経過時間を取得しようとしています。サイズ = 100、1000、10000、および 100000 の経過時間を取得できますが、1000000 を試すと、結果が得られずに実行され続けます (1000000 は大きすぎると思いますか?)。妥当な時間でコンパイルされる nanoTime を使用して経過時間を取得する方法はありますか? どんな助けでも素晴らしいでしょう!

私のプログラム: