gpt4 book ai didi

c - time() 和上下文切换

转载 作者:行者123 更新时间:2023-11-30 14:24:44 24 4
gpt4 key购买 nike

我或多或少想知道time()在C标准库中是如何实现的,以及在下面描述的情况下会发生什么。尽管这个时间很可能可以忽略不计,但请考虑这样一种情况:您对时间有硬性限制并且无法控制 CPU 调度程序(假设它是通用 CPU 的“良好”调度程序)。

现在,如果我使用 time() 来计算特定代码部分的执行时间,并使用从某个最大界限中减去的时间来确定其他一些与时间相关的变量,这将如何变量会根据上下文切换而倾斜吗?我知道我们可以使用 nice 和其他工具(即自定义调度程序等)来确保我们在需要时获得完整的 CPU 使用率,但是,我想知道在类似情况下这通常是如何工作的由于系统的选择,存在哪些副作用。

最佳答案

time 应该测量挂机时间。即,无论您的进程运行了多少,它都会给出当前时间。

如果你想测量CPU时间,你应该使用clock来代替(尽管有些供应商,比如MS,它的实现是错误的,所以它也会测量wall time)。

当然,还有其他工具可以检索CPU使用率,例如times在类 Unix 系统上或 GetProcessTimes在 Windows 上。尽管便携性降低,但大多数人发现它们更有用。

关于c - time() 和上下文切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11199034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com