У меня есть относительно простая (без классов) программа на Python 2.7. Первым делом программа читает базу данных sqlite в словарь. База данных большая, но не огромная, около 90 мегабайт на диске. Для считывания требуется около 20 секунд. После считывания в базе данных я инициализирую некоторые переменные, например,
localMax = 0
localMin = 0
firstTime = True
Когда я отлаживаю эту программу в Eclipse-3.7.0 / pydev - даже эти простые строки - каждый отдельный шаг в отладчике съедает 100% ядра и занимает от 5 до 10 секунд. Я вижу, что процесс Python идет до 100% процессора в течение 10 секунд. Один шаг ... подождите 10 секунд ... один шаг ... подождите 10 секунд ... Если я отлаживаю в командной строке, просто используя pdb, никаких проблем. Если я вообще не отлаживаю, программа работает с "нормальной" скоростью, ничего странного, как в Eclipse.
Я воспроизвел это на двухъядерном ПК с Win7 с 4G памятью, 8-ядерным Ubuntu с 8G памяти и даже на Mac Air. Как это для мультиплатформенной разработки! Я продолжал думать, что это будет работать где-то . У меня никогда не хватает памяти в любое время.
Почему на каждом шаге Eclipse процесс python переходит на 100% CPU и занимает 10 секунд?