我一直在分析一些代码,这些代码可能会在系统调用中花费大量的执行时间。对某些函数进行手动计时,并使用回调时,Call差事报告系统调用时间约为20、30或40倍,而不是简单地计时该函数(当然,这也包括CPU时间)。
收集-systime=ON用于收集每个函数的sysCall时间。
据我所知,回调是通过计算CPU指令来工作的,而对于定时系统调用,只需让操作系统完成工作而不产生干扰。我不明白为什么在sysCalls上花费的时间会增加,有人能详细说明一下吗?
在sysCalls中花费的时间是否仍然是一个有用的工具?
发布于 2021-07-01 00:23:47
您能尝试一下--collect-systime=usec
和--collect-systime=nsec
,看看它们是否有很大的不同吗?usec
可能更快一些。
当指定-收集-systime时,Val差伦将为每个客户端应用程序系统调用不同的时间系统之一。我希望这会增加相当大的开销,特别是当客户端应用程序调用了很多“快速”系统时。
https://stackoverflow.com/questions/68205657
复制相似问题