タグ

ブックマーク / www.02.246.ne.jp/~torutk (3)

  • CPUクロックに基づく相対時刻の計測

    [ C++で開発 ] CPUクロックに基づく相対時刻の計測 CPUのクロックに基づき電源ONからの相対時刻を取得する方法を調査し記述します。最近のCPUは、クロックに従ってカウントアップするレジスタを保持しているので、このレジスタの値を読み出すことでCPUが起動してからのクロック数を取得することができます。例えば1GHzの動作周波数のCPUであれば、分解能は1ns(ナノ秒)となります。非常に高精度な分解能です。 2012-09-22 TSCの種類について追記 RDTSCP命令について追記 VisualC++のコンパイラ組み込み関数__rdtsc/__rdtscpについて追記 Intel x86系CPU RDTSC CPU命令を直接利用 Intel x86系のCPUAMDのAthlon等も含む)では、CPUクロックごとに加算される64bitのタイムスタンプカウンタ(IA32_TIME_ST

    totttte
    totttte 2017/05/28
    rdtscでクロック取得できる
  • C++ Coding Standards 101のサマリのサマリの日本語訳

    [ C++で開発 ] 書籍「C++ Coding Standards: 101 Rules, Guidelines, And Best Practices」 のサマリのサマリの日語訳 Herb Sutter、Andrei Alexandrescu両氏によるコーディング標準のルール名を列挙します。 ルール名 組織およびポリシー関連 0. ささいなことを気にかけるな(標準化すべきではないものを知れ) 1. コンパイラの警告を最大レベルにして、すべての警告を取り除け 2. ビルドを自動化せよ 3. バージョン管理システムを使え 4. コードレビュー投資せよ 設計様式 5. ひとつの要素にはひとつの責務 6. 正確性、簡潔性、明りょう性がまず最初 7. いつどのようにコードにスケーラビリティを持たせるかを知れ 8. 時期尚早に最適化しない 9. 最初から悲観的にならない 10. 大域データ、

    totttte
    totttte 2009/01/12
  • Timerを使う。周期的に実行したり、一定時間後に実行したり

    javax.swing.Timer Swingのクラスライブラリの1つとして提供されている。一定時間後にイベントを実行することができる。これは、Swingのイベントスレッドで実行されるので、描画に関わる処理を記述していてもSwingスレッドと干渉しないで済むのがメリット。実行はSwingのイベントキューに載せられるため、正確性には欠ける。 java.util.Timer 汎用のタイマとして提供されている。処理を周期的に実行したり、一定時間経過後に実行したり、指定した日時に実行したりと多彩な機能を持つ。Swingとは無関係なので、ヘッドレス(GUIが無い環境)でも使用できる。Timer専用スレッドで管理され、正確性もjavax.swing.Timerよりは高い。しかし、java.util.Timerの実装上欠点がいくつかある。まず、スケジューリングにシステムクロックを使用するので、システムク

    totttte
    totttte 2008/01/14
    scheduleAtFixedRateとscheduleの違い
  • 1