タグ

2014年5月13日のブックマーク (4件)

  • untitled

    dogatana
    dogatana 2014/05/13
  • 高精度タイマーQueryPerformanceCounterの分解能 - torutkのブログ

    JavaのSystem.nanoTime()メソッドは、高分解能のタイマーからその現在値をナノ秒単位の時間で取得するネイティブメソッドです。 高分解能タイマーにはいくつか種類がありますが(後述)、その仕組みは、ハードウェア的にはある周波数で動作するクロックの回数を数えるカウンターとなっています。 ソフトウェアとしては、まずカウンタ値を取得し、次にそのタイマーの周波数を用いてカウンタ値から時刻に変換します。例えば1MHzのクロックのタイマーでカウンタ値が100であれば、 100 / (1 * 1000000) = 0.0001 [sec] となります。 JavaのSystem.nanoTime()がどのような処理を行っているのか、Oracle JDK(OpenJDK)7のソースコードを調べると、Windows OSの場合はWindows APIのQueryPerformanceCounter

    高精度タイマーQueryPerformanceCounterの分解能 - torutkのブログ
    dogatana
    dogatana 2014/05/13
  • 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

    dogatana
    dogatana 2014/05/13
  • リポジトリへのデータのインポート

    すでにいくつかのプロジェクトが登録されているリポジトリにインポートする場合、リポジトリ構造はすでに決まっていることでしょう。新しいリポジトリにデータをインポートする場合には、どのようにリポジトリを構成するかを考えるのに、時間を費やす価値はあります。もっとアドバイスが必要であれば、 「リポジトリのレイアウト」をお読みください。 この章では、 Subversion のインポート(import)コマンドについて解説しています。このコマンドは、ディレクトリ階層を一度にリポジトリにインポートするよう設計されています。この動作には、いくつか欠点もあります。 「常に無視するファイル」で設定する以外に、インポートするファイルやフォルダーを選択する方法がない。 インポートしたフォルダーが作業コピーにならない。サーバーからファイルをコピーし反映するには、チェックアウトが必要である。 間違った階層のフォルダーを