简体   繁体   English

使用C程序获取Python脚本的执行时间

[英]Get execution time of Python script with C program

I have to get the execution time of a Python script with 100 different input values, so I wrote the following C program 我必须获取具有100个不同输入值的Python脚本的执行时间,因此我编写了以下C程序

#include <stdlib.h>
#include <stdio.h>

int main(void) {

    int i;
    char command [200];

    for (i = 1; i <= 100; ++i) {
        sprintf(command, "time python program.py %d", i);
        system(command);
    };

    return 0;
};

With this program I can see the execution time of each execution, but I'd like to be able to catch it in a variable. 通过此程序,我可以看到每次执行的执行时间,但是我希望能够将其捕获到变量中。 Is there a way to do that? 有没有办法做到这一点?

gettimeofday() from <sys/time.h> can be used in your case. 您可以使用<sys/time.h> gettimeofday()

 double elapsedTime[100];
 for (i = 1; i <= 100; ++i) {    
        sprintf(command, "python program.py %d", i);
        gettimeofday(&t1, NULL);
        system(command);
        gettimeofday(&t2, NULL);

        // compute and print the elapsed time in millisec
        elapsedTime[i] = (t2.tv_sec - t1.tv_sec) * 1000.0;      // sec to ms
        elapsedTime[i] += (t2.tv_usec - t1.tv_usec) / 1000.0;   // us to ms
    };

If possible, you can use some profiling tool which supports python. 如果可能,您可以使用一些支持python的分析工具。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM