問題タブ [timespec]
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 - 構造体timevalを構造体timespecに変換する標準的な方法はありますか?
struct timeval
tv_sec
(秒)とtv_usec
(マイクロ秒)の2つのメンバーを表します。この表現では、tv_usec
はそれ自体が絶対時間ではなく、から1秒未満のオフセットですtv_sec
。
struct timespec
tv_nsec
マイクロ秒の代わりにオフセット( )がナノ秒単位で格納されることを除いて、同じように機能します。
問題は、これら2つを変換する標準的な方法はありますか?
windows - timespec は Windows で定義されていませんか?
この答えを見つけるのが難しいのは奇妙に思えます。time.h と ctime を含めましたが、vc9 はまだ未定義の型「timespec」について不平を言っています。ここ、MSDN、および Web を検索しました (正確なコンパイラ エラーがあっても) が、答えが見つかりません。
正確なエラーは次のとおりです。
ありがとう
perl - 自然言語の期間指定を解析するための Perl モジュール (「at」コマンドに類似)?
「期間」オプションを使用する perl スクリプトを作成していますが、単一の単位 (秒数など) だけを使用するのではなく、この期間をかなり柔軟な方法で指定できるようにしたいと考えています。UNIXat
コマンドは、「現在 + 3 時間 + 2 日」などの指定を許可することで、この種の動作を実装します。私のプログラムでは、「今」の部分が暗示されているので、プラス記号の後の部分を解析したいだけです。(注: このat
コマンドは正確な日付指定も解析しますが、期間のみを解析したいのです。)
このような期間指定を解析するための perl モジュールはありますか? で受け入れられる正確な構文は必要ありませんat
。期間を指定するための適切な構文だけです。
編集: 基本的に、日付の代わりに期間にDateTime::Format::Flexibleのようなものが必要です。
c - ナノ秒の精度でファイル時間を取得する方法は?
stat()
呼び出しとそれに対応するstruct stat
に、1秒を超える精度のファイル時間のフィールドが含まれていないことを発見しました。これらの時間を設定するために、さまざまな{f,l}utime{n,}s()
機能がありますが、取得するためのものではありません。
では、できればPOSIX APIを使用して、これらの時間をナノ秒の精度でどのように取得するのでしょうか。
c - -std=c99 を指定した GCC は、構造体の timespec を知らないと不平を言う
Linux で を使用してこれをコンパイルしようとするとgcc -std=c99
、コンパイラはstruct timespec
. ただし、これをコンパイルせずにコンパイルすると、-std=c99
すべて正常に動作します。
これはなぜですか?また、まだ動作させる方法はあり-std=c99
ますか?
metrics - 過去の任意の時点で AccuRev クエリを実行することはできますか?
レポートとして表示できるように、時間の経過とともにプロジェクトの指標を保持したいと考えています。たとえば、各週の終わりに WIP、割り当て済み、または完了した課題の数を示す折れ線グラフを表示したいと考えています。過去の任意の日付でクエリを実行し、必要に応じてグラフを作成できますか? 毎週cronジョブを実行して自分自身を追跡することなく、これを行う方法はありますか?
編集: GUI ではなく、accurev XML シェル コマンドを使用してこれらの統計を収集しています。
c++ - Windowsコンパイラのtimespec
posixでは、timespecを使用して正確な時間の長さ(秒やミリ秒など)を計算することができます。残念ながら、VisualStudioコンパイラを使用してWindowsに移行する必要があります。VS time.hライブラリはtimespecを宣言していないので、他のオプションを探しています。クロックカウントでミリセコンをカウントする精度を確認することはできませんでしたが、検索できる限り、clockとtime_tを使用することは可能です。
操作の経過時間を計算するために何を/使用しますか(可能な場合は標準のC ++ライブラリを使用して)?
c++ - 関数の実行時間は実行時に減少します。(C ++)なぜですか?
いくつかのテスト目的で、リアルタイムビデオ処理コードでいくつかの高速操作の実行時間を測定するためのコードを作成しました。そして、物事はうまく機能しています。非常にリアルな結果が得られていますが、興味深い特徴が1つあります。
属性付きのPOSIX関数を使用しています。したがって、ナノ秒の精度(1 / 1000000000秒)でtimespecを取得しており、その方法でtimespec値を取得するには、数プロセッサティックしかかからないと言われています。clock_gettime
CLOCK_MONOTONIC
これが私がtimespecsを保存するために使用している2つの関数です。また、使用されているデータ構造の定義を追加しました。
結果を、後で使用するいくつかのQVectorに収集しています。
これらの2つの関数が初めて実行されたとき(互いに直後、間に何もない)、2つの保存された時間仕様の差は約34000nsであることに気付きました。次回は差が約2分の1になります。等々。それらを何百回も実行すると、平均差は約2000nsになります。したがって、これらの関数の平均的な繰り返し実行にかかる時間は、最初の関数の約17000分の1です。私は何百もの測定を続けて行っているので、最初の実行が少し長く続くことは私にとって実際には重要ではありません。しかし、とにかくそれは私に興味があるだけです、なぜそれはそのようですか?
私はJavaでさまざまな経験がありますが、C++はまったく初めてです。ここで物事がどのように機能するかはよくわかりません。最適化レベルにO3フラグを使用しています。私のQMakeconf:
QMAKE_CXXFLAGS += -O3 -march=native
それで、誰もがこの小さなコードのどの部分が実行時に速くなるか、どのようにそしてなぜかを知ることができますか?QVectorに追加するのは疑わしいです。最適化はこれに何らかの影響を及ぼしますか?
これがstackoverflowに関する私の最初の質問です。長すぎないことを願っています:)すべての回答に感謝します!
c - GNU ポートのミリ秒を timespec に変換する
ミリ秒を GNU Linux で使用される timespec 構造に変換したいと考えています。同じコードを次のように試しました。
このコードを実行すると、次のエラーが表示されます。
「GetTimeSpecValue」の前に「=」、「,」、「;」、「asm」、または「__attribute__」が必要です</p>
コードにtime.hファイルも含めました。
c++ - timespec の初期化時にノンブロッキング TCP ソケットがハングする (C++)
ローカルホストで tcp サーバーを実行しています。私のプログラムは、接続に関するデータで応答するこの tcp サーバーに接続します。プログラムの他の場所でシグナルを使用しているため、これを非ブロッキングにする必要があります。残念ながら、私も使用する必要がありますclock_gettime
。これを行うと、tcp 接続がハングします。私が考えることができる唯一の代替手段は、パイプを使用してudpに切り替えることですが、これら2つは望ましい結果ではありません。以下の関連コード:
tcpsens.h:
testtcp1.cpp
でコンパイルすると$ g++-4.7 -std=c++11 testtcp1.cpp -lrt
、結果が得られます
testtcp2.cpp
struct timespec timer;
行のコメントを外し、メッセージを変更する以外は、testtcp1.cpp と同じです。結果を与える
そして永遠にハングアップします。