请教※讨论:QNX下计算程序运行时间的函数

我最近在虚拟机上装了个QNX6.2.0,在上面测试一个微秒级程序的运行时间。由于是首次接触,还请大家指教。
对于计算程序运行时间,我找到了以下几个函数,都可以编译成功。
我的是QNX(虚拟机上)做客户端,向XP服务端发送数据,使用函数为:
clock() 、ClockCycles()、clock_gettime()、gettimeofday()、times()。
没有采用pthread_create()(不知道这个概念对不!)
想请问,那一个函数可以更好的计算时间,尤其是在虚拟机上,还有其他的函数吗?

刚刚接触,提不出什么高深的问题。有人愿伸援手吗?

“计算时间”?你是要得到某段“时间间隔”的长度,还是某一点的时间。

ClockCycles()应该是最精确的,不过,这个取得的是Cycle数,你要换算后才能得到间隔时间。

clock_gettime()受系统时间片的限制,精度在1ms左右。gettimeofday()和times()则返回的是秒数了。

我计算的是一个循环语句的运行时间,不是某一点的时间。
我按照ClockCycles()说明,采用

cps = SYSPACE_ENTRY(qtime) → cycles_per_sec;
time = (float)(stop - start)/cps;

应该没有错误的。
另外,现在我是在虚拟机上测试,会不会影响时间的测试精度(因为我们要求的是微秒级)。

虚拟机会对时间有一定影响,至于有多大,直接取决于虚拟机的实现,和你的程序都做了些什么了。

在虚拟机上,绝对时间(这个循环用了1ms)就没有什么意义了;相对时间(这个循环占了整个程序执行时间的2%)可能还有一点意义。