
透過效能分析找出瓶頸
|
51
3 10962 1 1050504 1 91895568 98 str
4 5767 0 464952 0 92360520 98 tuple
5 199 0 210856 0 92571376 98 dict of type
6 72 0 206784 0 92778160 98 dict of module
7 1592 0 203776 0 92981936 99 types.CodeType
8 319 0 202984 0 93184920 99 dict (no owner)
9 1556 0 186720 0 93371640 99 function
<92 more rows. Type e.g. '_.more' to view.>
如第 3 個部分所示,在計算 Julia 結果之後,我們已經使用了 94 MB 的 RAM。除了複數
之外,我們現在有一大堆整數,並且有更多項目被儲存在串列裡。
hpy.setrelheap()
能夠被用來建立記憶體組態的檢查點,因此,隨後的
hpy.heap()
呼叫
將產生與這個檢查點的差異,這樣的話,你就能夠避免看到 Python 的內部機制,以及
在此之前的記憶體狀態。
使用 dowser 針對實例化的變數進行即時的描繪
Robert Brewer 的
dowser
掛鉤到執行程式碼的名稱空間(namespace),並且在 Web 瀏覽
器裡,透過 CherryPy 介面,針對實例化的變數提供即時的描繪。每個被追蹤的物件都 ...