找到系统调用需要多长时间的可能方法?

时间:2017-04-10 16:38:45

标签: c++ linux time system

有没有办法找到系统调用的早期时间。例如,系统调用需要多长时间:

 system(smbtree);

如何才能找到上述系统调用需要多长时间才能显示等待时间?

我可以使用time()来计算执行时间,但有没有办法尽早找到,这样我可以减少倒计时或等待时间?

2 个答案:

答案 0 :(得分:4)

你不能。

没有办法提前知道一些任意shell调用需要多长时间才能完成。每个呼叫不仅不同,而且在不同温度下不同处理器上的不同操作系统下运行不同数量的进程的不同计算机将花费不同的时间来执行任务。

天真地,你能做的最好的事情是根据经验测试得出一些模糊的估计(比如,“我的shell脚本通常需要大约五秒才能运行,无论我在哪里测试过它”)并且希望它足够接近现实。确保编写代码以支持检查和/或更改估算,这通常会发生。

正确的解决方案将涉及第三方流程本身在调整过程中直接向调用流程提供状态信息。

答案 1 :(得分:-1)

您必须先提前计算执行时间,因为它需要多长时间取决于它运行的机器。