开发者

When is it more appropriate to use gethrvtime() instead of gethrtime()

Manpage for gethrtime() mentions another flavor of this call, which is gethrvtime(), and explains that this is the 开发者_高级运维virtual time of a LWP. I am trying to understand the use case that would require gethrvtime() and make gethrtime() inapplicable and vice versa.

Thank you!


This page on High Resolution Timers seems to have a good description of gethvrtime:

gethrvtime() and Light Weight Processes virtual time

The gethrvtime() function is similar to gethrtime() except that it returns the current high resolution Light Weight Process virtual time. Light Weight Processes (LWPs) are in Solaris parlance the equivalent of threads (LWPs were first implemented in Solaris. Later, they were later adopted by Linux and other POSIX systems). The LWP virtual time is the total number of nanoseconds of execution time. This function requires that micro state accounting be enabled with the ptime utility. Without getting too technical, using microstate accounting enables reproducible precision of time measurements.


It sounds to me like gethrtime is elapsed, "wall clock" time, whereas gethvrtime is CPU time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜