2017-08-15 113 views
0

我想在Python上看到關於程序運行時間的統計信息。不幸的是,這個程序寫在FortranC++,我不能使用任何語言特定的可視化工具。從程序的輸出中,我創建了一個包括不同函數和子例程的開始時間和結束時間的類。例如:如何創建視覺分析器?

class MyProgramRuntime: 
    def __init__(self): 
     self.foo1CallTime 
     self.foo1EndTime 
     self.foo2CallTime 
     self.foo2EndTime 

我想獲得一個類似的情節就像下面的鏈接上的畫面:Picture

回答

0

我不知道這是否是最好的解決辦法,但它的作品真的很好,我。我已經使用matplotlib.patches lib繪製長矩形作爲實際的函數/子例程以秒爲單位運行。類中的變量是浮點變量,我通過從實際的日期時間中提取程序以datetime.timedelta.total_seconds()開始的日期時間來獲取它們。繪圖如下所示:

import matplotlib.pyplot as plt 
    import matplotlib.patches as patches 

    def plotRunningTimes(mpr): #mpr is an instance of the MyProgramRuntime class 
     fig = plt.figure() 
     ax = plt.subplot(111) 
     ax.add_patch(patches.Rectangle((mpr.foo1CallTime, 0.1), 
              mpr.foo1EndTime-mpr.foo1Calltime, 
              0.1))