对于特定的 c 代码程序,我想测量:
execution time (most likely complete program execution time)
memory usage
CPU load
我怎样才能在 C 中获得所有上述信息?
对于特定的 c 代码程序,我想测量:
execution time (most likely complete program execution time)
memory usage
CPU load
我怎样才能在 C 中获得所有上述信息?
您可以编写一个简单的代码来测量特定代码块的执行时间,使用标准 C 库进行时间/日期操作 (time.h):http ://en.wikipedia.org/wiki/C_date_and_time_functions
对于一个重要的程序,内存使用实际上是不可能准确测量的。您的程序是否使用共享库?那么,您是否将共享库使用的内存计算为仅属于您的程序?你的程序 fork() 生成的子进程呢?您是单独计算它们还是与主要过程一起计算它们?所有这些问题都可以回答,但这意味着您测量的内容取决于您的具体选择。
在 C 中,您可以做的是包装 malloc() 和 free() 使用您的包装器来跟踪您的内存分配。
对于 CPU 负载,您需要与操作系统交互。您无法从 C 获得该信息。