- 论坛徽章:
- 0
|
/*********************************************************************************/
设置hires_timeout_enable之前
/*********************************************************************************/
function time(usec) realTime reduce
---------------------------------------------------------------------
usleep 500000 516497 16497
nanosleep 500000 509710 9710
select 500000 509819 9819
pthread_cond_timedwait 500000 509816 9816
usleep 100000 109857 9857
nanosleep 100000 109765 9765
select 100000 109810 9810
pthread_cond_timedwait 100000 109854 9854
usleep 50000 59873 9873
nanosleep 50000 59767 9767
select 50000 59807 9807
pthread_cond_timedwait 50000 59858 9858
usleep 10000 19842 9842
nanosleep 10000 19733 9733
select 10000 19808 9808
pthread_cond_timedwait 10000 19856 9856
usleep 1000 19846 18846
nanosleep 1000 19758 18758
select 1000 9816 8816
pthread_cond_timedwait 1000 19857 18857
usleep 900 19869 18969
nanosleep 900 19945 19045
select 900 9618 8718
pthread_cond_timedwait 900 19854 18954
usleep 500 19848 19348
nanosleep 500 19758 19258
select 500 9910 9410
pthread_cond_timedwait 500 19779 19279
usleep 100 19835 19735
nanosleep 100 19758 19658
select 100 9825 9725
pthread_cond_timedwait 100 19851 19751
usleep 10 19854 19844
nanosleep 10 19748 19738
select 10 9862 9852
pthread_cond_timedwait 10 20024 20014
usleep 1 19642 19641
nanosleep 1 19797 19796
select 1 9782 9781
pthread_cond_timedwait 1 10 9
/*********************************************************************************/
可见HP-UX定时器时间精度大概在10ms左右
设置hires_timeout_enable之后
/*********************************************************************************/
function time(usec) realTime reduce
---------------------------------------------------------------------
usleep 500000 500121 121
nanosleep 500000 500024 24
select 500000 511024 11024
pthread_cond_timedwait 500000 500083 83
usleep 100000 100093 93
nanosleep 100000 100030 30
select 100000 109039 9039
pthread_cond_timedwait 100000 100057 57
usleep 50000 50073 73
nanosleep 50000 50018 18
select 50000 59141 9141
pthread_cond_timedwait 50000 50038 38
usleep 10000 10105 105
nanosleep 10000 10023 23
select 10000 19047 9047
pthread_cond_timedwait 10000 10052 52
usleep 1000 1083 83
nanosleep 1000 1026 26
select 1000 17207 16207
pthread_cond_timedwait 1000 1111 111
usleep 900 984 84
nanosleep 900 922 22
select 900 16120 15220
pthread_cond_timedwait 900 977 77
usleep 500 592 92
nanosleep 500 529 29
select 500 17159 16659
pthread_cond_timedwait 500 587 87
usleep 100 205 105
nanosleep 100 124 24
select 100 8350 8250
pthread_cond_timedwait 100 188 88
usleep 10 173 163
nanosleep 10 130 120
select 10 8757 8747
pthread_cond_timedwait 10 205 195
usleep 1 155 154
nanosleep 1 125 124
select 1 8805 8804
pthread_cond_timedwait 1 23 22
/*********************************************************************************/
除了select保持在10ms左右,其他api精度提高到200us以内。和hp的手册说的一致。
hires_timeout_enable is a dynamic tunable that enables/disables
support for high resolution timers and timed sleep for the following
Application Programming Interfaces (APIs) - nanosleep, getitimer,
setitimer, sigtimedwait, timer_gettime, timer_settime, ualarm, usleep,
and pthread_cond_timedwait. With the higher resolution, these
interfaces can be expected to support time intervals less than the
current 10 ms. |
|