问题是文本输出而不是调试器。
我只是在我的Q6600(超频3GHz)系统上尝试过,而我的数字甚至更糟。但是很容易看到,随着输出文本的增加,它们正在下降。
我试图用
1000次迭代=> 7.8秒2000次迭代=> 28.5秒3000次迭代=> 70秒
过去,我做了一些底层TK的工作,我知道TkText窗口小部件将文本保留在BTree结构中。一次在一个字符后附加文本是最差的方法之一,但这似乎是IDLE所做的。通常的方法是捕获更多数据并附加更大的文本块。
令人惊讶的是,如果您将打印内容写为“ x \ n”,则输出速度会更快。7秒内进行3000次迭代,而19秒内进行10000次迭代。
因此,问题肯定是将单个字符附加到现有行上。空闲的程序员不知道TkText是如何工作的。