2010-07-08 57 views

回答

0

如果你说的是程序的过程中花费的时间,程序完成后,然后做最简单的事情是运行UNIX “时间”功能:

# echo foo 
foo 

# time echo foo 
foo 

real  0m0.000s 
user  0m0.000s 
sys 0m0.000s 

有更多的技术答案,如果你真的需要做,而在程序运行数据收集 - 我要看看UNIX的书你...

更新:

clock_t times(struct tms * buf);

查看manpage或UNIX环境下的高级编程8.15节的详细信息 - 史蒂文斯 - 这类问题的圣经。

更新2:

运行“特区”,在另一个进程(这就像顶部的标准输出打印版),寻找你想要的结果,并发出信号的过程。

或者,另一个解决方案发布关于“ioreg”。然而,如果你有一个本质上类似于内核的程序,并且在其核心有一个大的动作循环,你可能会发现最好自己跟踪未使用的循环。否则,这是一个不容小觑的问题。

+0

通过超级用户提示符运行echo? ;) – zneak 2010-07-08 22:31:41

+0

@zneak - 是的,只要你做一个/ proc的副本,而你这样做。 :-) – eruciform 2010-07-08 22:34:24

+0

问题已更新 – Gci1 2010-07-08 22:44:34

0

python(win)呢?像Python的标准库中的时间模块...?

0

您的应用程序GUI驱动?

如果是这样,您可以在GUI启动时启动一个计时器,然后在顶层使用键盘和鼠标回调。每次键盘或鼠标回调被触发时,重置计时器。否则,当计时器关闭时,处理程序代码应暂停计数器。

如果不是,请忽略此... ;-)