Интенсивный ЦП сервера разработки Django - как проанализировать?

Необходимо использовать .End(xlup), но вместо того, чтобы использовать 65536 Вы могли бы хотеть использовать:

sheetvar.Rows.Count

Тот способ, которым это работает на Excel 2007, которому я верю, имеет больше чем 65 536 строк

6
задан Hoff 17 November 2009 в 19:01
поделиться

4 ответа

FWIW, вам следует выполнить профилирование, но когда вы это сделаете, держу пари, вы обнаружите, что ответ - «опрос изменений в ваших файлах, чтобы он мог автоматически перезагружаться». Вы можете провести быстрый тест с помощью «python manage.py runserver --noreload» и посмотреть, как это влияет на использование ЦП.

14
ответ дан 8 December 2019 в 12:20
поделиться

Нажмите Control-C и завершите процесс. Вероятно, где-то произойдет сбой, на что он тратит много времени.

Или вы можете использовать профилировщик.

3
ответ дан 8 December 2019 в 12:20
поделиться

http://docs.python.org/library/profile.html

Это стандартный подход.

2
ответ дан 8 December 2019 в 12:20
поделиться

Стандартный подход - использовать профилировщик. Если по какой-то причине вы не можете этого сделать (например, в Apache modpython, на котором запущен ваш Django, нет профилировщика), лучше всего просто оснастить вашу программу журналированием. Наблюдайте за сообщениями вашей программы и посмотрите, чему вы можете научиться из них.

Если вы видите сообщение «Вход в CalculateFoo ()», а затем через пять секунд «Выход из CalculateFoo ()», это главная подсказка. Или если одна конкретная функция продолжает печатать снова и снова.

Вот краткое обсуждение ведения журнала Python.

Советы по отладке Python

РЕДАКТИРОВАТЬ: Я только что заметил, что вы специально сказали, что это на вашем рабочем столе Windows 7. Итак, используйте профилировщик. Но я оставлю этот ответ, чтобы охватить общий случай.

0
ответ дан 8 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: