C++ 从Python测量外部.exe运行时的更精确计时器?

C++ 从Python测量外部.exe运行时的更精确计时器?,c++,python,time,C++,Python,Time,我试图使用Python从编译的C++ exe中获取返回值(同时对它们进行计时)。 这是我的Python代码 import subprocess import time info = subprocess.STARTUPINFO() info.dwFlags |= subprocess.STARTF_USESHOWWINDOW info.wShowWindow = subprocess.SW_HIDE t1 = time.clock() h = subprocess.Popen([r"C:\U

我试图使用Python从编译的C++ exe中获取返回值(同时对它们进行计时)。 这是我的Python代码

import subprocess
import time

info = subprocess.STARTUPINFO()
info.dwFlags |= subprocess.STARTF_USESHOWWINDOW
info.wShowWindow = subprocess.SW_HIDE

t1 = time.clock()
h = subprocess.Popen([r"C:\Users\MyName\Desktop\test.exe"], startupinfo=info) 
h.communicate()
t2 = time.clock()-t1

print "Return Code:", h.returncode
print "Duration:", t2
这是test.cpp的内容:

int main(){    
    return 1234;
}
这是Python输出

Return Code: 1234

Duration: 0.0438238265388

我觉得43毫秒太长太不准确了。还有更好的方法吗?

< P>我也建议测量C++程序本身的时间,如果你仍然对Python程序中的时间感兴趣,你可以返回从C++程序计算的时间,这应该是非常准确的。正如其他人所建议的,取多次运行的平均值。

考虑将可执行文件运行多次,然后除以运行次数?使用这种方法,300次平均运行的时间似乎缩短到15毫秒。。。更好,但仍然显得太慢。我的Python输出比这个快得多,我知道Python比C++慢,有没有办法可以在C++中使用内部时钟锁方法,从程序本身得到时间和返回值?