C++ 从Python测量外部.exe运行时的更精确计时器?
我试图使用Python从编译的C++ exe中获取返回值(同时对它们进行计时)。 这是我的Python代码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
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++中使用内部时钟锁方法,从程序本身得到时间和返回值?