我只是想知道限制time
是多少。我有一个程序总是需要 20 毫秒,所以我假设这是它可以测量的最低值,但我想看看是否有某种文档记录。
答案1
它可以测量的最短时间间隔是 1 jiffy,它是内核构建选项 (CONFIG_HZ) 中指定的频率的倒数。
答案2
我同意 Ignacio 的回应,但我认为它忽略了一个关键点。虽然理论上 jiffy 是它可以测量的最小单位,但有时非常短的持续时间是不准确的,因为底层硬件不会如此快速地测量时间变化。根据我的经验,任何小于一毫秒的时间都无法准确地与其他时间进行比较(尽管这个数字可能高达 5 或 10 毫秒)。如果您试图对特定操作或程序进行基准测试,请考虑让它运行数百或数千次,然后将总时间除以迭代次数以找到更准确的值。
答案3
尝试这个:
gcc -o timetest -x c - <<< "int main() {}"; time ./timetest
在我的(又旧又慢的)系统上,后续运行:
time ./timetest
最快可完成:
real 0m0.005s
user 0m0.004s
sys 0m0.000s