2006-12-23

Solarisの実時刻計測

Solaris10/amd64で経過実時間を測定する方法を調べてみた。

  • gettimeofday(): 分解能1μs。UNIX系OS全般で使えるかも。
  • RDTSC命令: 分解能1/CPUクロック周波数。自分のマシンだと1/1.8GHz=0.55ns。x86系専用。SPARCマシンにも同等機能のものがあった気がする。
  • clock(): C89の時代からある関数だけど、プロセスが使用したCPU時間がベースなので実時間ベースではない。分解能自体は1μs。
  • gethrtime(): 分解能は1ns。Solaris用? time.hを見るとRDTSC命令をラップしているようだが確証はない。

0 件のコメント: