1
我想使用Python從編譯的C++ exe中獲取返回值(同時對它們進行計時)。用於從Python測量外部.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+毫秒太長而且不準確。有沒有更好的辦法?
考慮多次運行可執行文件,然後除以運行次數? – Amber
使用這種方法,它似乎將壓縮到15毫秒300平均運行...更好,但仍然似乎太慢。我的Python輸出比這更快,我知道Python的加載速度比C++慢 – MyNameIsKhan
有沒有一種方法可以在C++中使用內部clock_t方法,並以某種方式從程序本身獲取時間和返回值? – MyNameIsKhan