Что определяет производительность отладчика во время выполнения

Я пробовал отлаживать Python 3 с помощью Wing IDE (v.4.1.3) и Komodo IDE (v.7.0.0). Как и ожидалось, отладчик добавляет много служебных данных во время выполнения. Но что меня удивило, так это то, насколько разные отладчики могут быть между собой.

Вот время выполнения той же программы. Никаких точек останова или чего-либо еще, просто обычный запуск без какой-либо фактической отладки:

  • выполняется интерпретатором python: 26 секунд
  • выполняется отладчиком №1: 137 секунд
  • выполняется отладчиком №2: 1143 секунды

Я называю отладчики анонимными №1 и №2, иначе это станет непреднамеренной (и, возможно, ошибочной) рекламой для одного из них.

Действительно ли один из отладчиков «быстрее» в 8 раз?

Или есть какой-то компромисс, когда более быстрый отладчик отказывается от некоторых функций, точности, надежности или чего-то еще в обмен на большую скорость ? Если да, то мне хотелось бы узнать эти подробности, будь то конкретно для Wing / Komodo или отладчиков Python в целом.

10
задан Lennart Regebro 19 February 2012 в 04:37
поделиться