# Time::HiRes
πŸ“¦ std
High-resolution timers and sleeps: microsecond `gettimeofday`, sub-second `sleep`, `alarm`, and POSIX clocks. Mirrors perl5-modules/Time-HiRes-1.9764/HiRes.xs. All functions operate through the perl5 C API (p5api). ## Functions ### Other Functions #### `time` `HiRes.xs:1393-1406` β€” time() #### `gettimeofday` `HiRes.xs:1375-1391` β€” gettimeofday() #### `usleep` `HiRes.xs:1139-1171` β€” `usleep($microseconds)` #### `nanosleep` `HiRes.xs:1175-1191` β€” `nanosleep($nanoseconds)` #### `sleep` `HiRes.xs:1207-1247` β€” `sleep($seconds)` #### `alarm` `HiRes.xs:1296-1343` β€” `alarm($seconds, $interval=0)` #### `ualarm` `HiRes.xs:1265-1293` β€” `ualarm($usecs, $interval)` #### `setitimer` `HiRes.xs:1414-1445` β€” `setitimer($which, $value, $interval)` #### `getitimer` `HiRes.xs:1447-1465` β€” `getitimer($which)` #### `clock_gettime` `HiRes.xs:1567-1582` β€” `clock_gettime($clock_id)` #### `clock_getres` `HiRes.xs:1598-1615` β€” `clock_getres($clock_id)` #### `clock` `HiRes.xs:1673-1682` β€” clock() #### `clock_nanosleep` `HiRes.xs:1631-1651` β€” `clock_nanosleep($clock_id, $nsec, $flags)` #### `tv_interval` `tv_interval(\@t0, \@t1?)` β€” pure Perl in `HiRes.pm`, native here #### `utime` `HiRes.xs:1471-1551` β€” `utime($atime, $mtime, @files)` #### `stat_impl` `HiRes.xs:1696-1735` β€” stat/lstat with nanosecond timestamps. TODO: perl5 creates a fakeop and calls pp_stat to populate PL_statcache. We do direct libc stat. -M/-A/-C after Time::HiRes::stat() won’t see cached result.