【发布时间】:2017-01-11 04:26:20
【问题描述】:
我有一个用C 编写的multi-process 程序,其中父级派生了许多子级,我需要计算它的运行时间,并将其与执行以下操作的multi-threaded 程序的运行时间进行比较与multi-process 的任务相同。
除了使用time.h 的clock 函数(它报告CPU 时间,因此如果线程数很高,可能会在multi-threaded 程序中报告更多时间),我还能用什么来计算这两个程序'运行时间进行比较?
我目前正在使用time ./a.out 来计算它们的运行时间。
【问题讨论】:
-
clock_gettime 可用于此目的:stackoverflow.com/questions/2962785/…
-
你对“运行时间”的定义是什么?您是指从第一个子进程启动到最后一个子进程终止之间的挂钟时间吗?您是指所有子进程使用的总挂钟时间吗? (例如,如果两个进程需要 5 秒才能完成,那么总挂钟时间将为 10 秒)或者您的意思是所有子进程累积的 CPU 时间量?
-
我指的是挂钟时间。
标签: c multithreading time multiprocessing