(最終更新: 2011/03/06) # 履歴は記事の末尾にあります 先日、JDKのコードを読んで、JavaのSystem.nanoTime()を実行すると、Win32APIのQueryPerformanceCounterが使用されることを確認しました。 そこで、System.nanoTime()を使うよりも速いJava用タイマーを作ってみようと思います。 合言葉は、「そんなタイマーで大丈夫か?」「一番いいのを頼む」(※ただしインテルに限る) 何を考えたか QueryPerformanceCounterは、マシン起動時からの秒数を取得します。であるならば、Javaからネイティブコードを呼び出し、インラインアセンブラに同じ処理を書いて実行することで、JDKを経由してWin32APIを叩く分のコストを削れると考えました。 さらに、手作りタイマーの良さを生かせば、次のコストを切り分けることができ
![Java用爆速タイマーを作ってみる - 虎塚](https://cdn-ak-scissors.b.st-hatena.com/image/square/56159f1fdd6c5f2ce001ca7b715483d9f95e3e64/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftorazuka%2F20110306%2F20110306113618.png)