[英]Why is debugging in eclipse/pydev so slow for my python program?
我有一個相對簡單(沒有類)的python 2.7程序。 該程序的第一件事是將sqlite dbase讀入字典。 數據庫很大,但不是很大,在磁盤上大約90Meg。 讀入大約需要20秒。在數據庫中讀取后,我會初始化一些變量,例如
localMax = 0
localMin = 0
firstTime = True
當我在Eclipse-3.7.0 / pydev中調試這個程序時 - 即使是這些簡單的行 - 調試器中的每個步驟都會占用100%的核心,並且需要5到10秒。 我可以看到python進程達到100%cpu 10秒。 單步......等待10秒......單步......等待10秒......如果我只是在命令行調試,只使用pdb,沒問題。 如果我根本不調試,程序以“正常”速度運行,沒有像Eclipse那樣奇怪。
我已經在具有4G內存的雙核Win7 PC,8核Ubuntu內存,8G內存,甚至是我的Mac Air上再現了這一點。 對於多平台開發來說,這是怎么回事! 我一直認為它會在某個地方發揮作用。 我永遠都不會接近內存不足。
在每個Eclipse的單步操作中,為什么python進程會跳轉到100%的CPU,需要10秒?
基於Mikko Ohtamaa的暗示,這是一個足夠好的解決方法。 我剛剛在Mac Air上驗證了以下內容:
因此,我的解決方法是關閉Eclipse Variable窗口,並使用Expressions窗口有選擇地查看變量。 一個痛苦,但對於調試我正在做的比pdb更好。
我簡單地評論了這一行:
np.set_printoptions(threshold = 'nan')
似乎eclipse試圖跟上太多的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.