time() 関数を使うと UNIX 時間を秒単位で得られますが、
もう少し細かく時間を知る方法は無いでしょうか?

外部のプロファイラなどに頼らず、
ある関数の開始と終了時点で計時し、
かかった時間を調べたいと思っています。

IA32 アーキテクチャの RDTSC レジスタを読み取って、
クロック数を得る事で粒度の細かい計時が可能なのですが、
もう少しポータブルな方法を探しています。
Cygwin, Linux および Solaris で共通に利用できるような
方法を探しています。