昨日の日記(id:torutk:20121019)で、nativeメソッドSystem.nanoTime()のWindowsでの実装を調べ、その実装で使用しているWindows API QueryPerformanceCounterをC/C++コードで動かすことで分解能(周波数)とAPIの処理時間を取得しました。 そのためには、Windows APIを呼び出せるC/C++開発環境*1をセットアップする必要があります。また、Javaにはネイティブコード(C/C++)を呼び出すためのJNIという仕組みが標準装備されていますが、これもC/C++開発環境が必要となります。 そこで、既存のCライブラリ(Windows APIなど)をJavaから直接呼び出すことができるJNAライブラリを使用してみました。JNAを使えば、JNIのようにC/C++コードを書かなくて済みます。 JNAライブラリの入手 JN