問題タブ [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.
java - ナノ秒とミリ秒
これは私に与えました:
私が聞きたいのは、これらの 2 つの数字は 1 秒何秒ですか? つまり、0.15、0.015、0.0015...? としてではなく、そのように印刷したいのですが、long
追加する小数点以下の数がわかりません。他の番号についても同じ質問です。
java - ミリ秒単位のタイムスタンプが時間、分、秒に正しく変換されませんか?
以下は、最も単純なケースで正常に動作する単純なタイマー クラスです。以下のタイマークラスを使用して、特定のコードの実行にかかる時間を測定しています。
以下は、上記のタイマークラスの使用方法です。コードの一部を実行するのにかかるミリ秒単位のタイムスタンプを取得し、それtimestamp
をhours
、minutes
およびに変換しseconds
ます。
問題文:-
私が直面している問題は、timeTaken
タイムスタンプが正しく変換さhours
れないことです。つまり、コードが合計 2 分間実行されている場合、正しい結果が表示されます。minutes
seconds
sys.out
しかし、このメソッドsome_code_which_I_am_measuring
を 2 日間実行すると、sys.out
間違った結果が表示されるとします。例として、私は自分のプログラムを で開始し、Fri 5/23/2014 9:40 PM
終了したSun 5/25/2014 9:38 PM
ので、コードを実行するのに何時間sys.out
もかかったと言うべきです。~48
右?
しかし、一般的には出力されます-
Total Time Taken: 23 hours 57 minutes 35 seconds
上記の日付を見ると、タスクを完了するのに 48 時間かかったことがわかりますが、これは間違っています。
上記のコードに何か問題がありますか?
アップデート:-
日を追加した後、全体のタイムスタンプは次のようになりますか?
java - この単純な C++ の追加が同等の Java よりも 6 倍遅いのはなぜですか?
こんにちはstackoverflowユーザー、これは私の最初の質問です。私の表現方法に誤りがある場合は、指摘してください、ありがとう
この単純な計算関数は、Java と C++ の両方で作成しました。
ジャワ:
C++:
ソフトウェア: - JDK8u11 - Microsoft Visual C++ コンパイラ (2013)
結果:
ジャワ: 2305843005992468481 1096361110
C++: 2305843005992468481 6544374300
計算結果は同じですが、出力されたナノ時間は、Java プログラムが 1 秒かかるのに対し、C++ では実行に 6 秒かかることを示しています。
私はかなり長い間 Java を使用していますが、C++ は初めてです。コードに問題はありますか? それとも単純な計算で C++ が Java よりも遅いのは事実ですか?
また、パフォーマンスが向上することを期待して、C++ コードで「登録」キーワードを使用しましたが、実行時間はまったく変わりません。誰かがこれを説明できますか?
編集: ここでの私の間違いは、C++ コンパイラの設定が最適化されておらず、出力が x32 に設定されていることです。/O2 WIN64 を適用して DEBUG を削除した後、プログラムの実行には 0.7 秒しかかかりませんでした
JDK はデフォルトで出力に最適化を適用しますが、デフォルトでコンパイル速度を優先する VC++ には当てはまりません。また、C++ コンパイラによって結果が異なります。コンパイル時にループの結果を計算するものもあり、実行時間が非常に短くなります (約 5 マイクロ秒)
注: 適切な条件が与えられれば、C++ プログラムはこの単純なテストで Java よりも優れたパフォーマンスを発揮しますが、多くの実行時の安全性チェックがスキップされ、「安全な言語」としてのデバッグの意図に違反していることに気付きました。境界チェックがないため、大規模な配列テスト
perl - Perlでシステム時間をナノ秒単位で取得するには?
Perl でシステム時間をナノ秒単位で取得したかったのです。モジュールを試してみTime::HiRes
ましたが、マイクロ秒までしかサポートしていません。