3
我在Python 2.7的32位Ubuntu機器上使用Django。我的開發服務器一直很慢,大約需要15秒來渲染任何頁面。我跑了一個cProfile測試,看看什麼運作如此緩慢。Pprint模塊在32位系統中使用Django緩慢工作
似乎它是pprint模塊。
這裏是我的統計數據:
ncalls tottime percall cumtime percall filename:lineno(function)
272605/48718 24.238 0 49.213 0.001 pprint.py:247(_safe_repr)
,這是我的同事誰運行64位OS X:
14531/5334 1.016 0.000 2.199 0.000 pprint.py:247(_safe_repr)
同時,我不得不關掉調試模式正常使用開發服務器。
這裏的分析腳本:
from cProfile import Profile
from django.test.client import Client
import Cookie
cl = Client()
cl.cookies = Cookie.SimpleCookie({'sessionid':'7344ebeba093b65c1d59a9d7583f60bc'})
p = Profile()
p.runctx("c.get('/welcome/')", globals={'c': cl}, locals={})
p.print_stats()
(的SessionID Cookie用於顯示在您需要登錄頁。)
我不知道的32位系統是主原因。
主要問題是:爲什麼pprint._safe_repr在Python 2.7 32位中很慢,而在64位中速度很快?,如果我可以設置一些東西讓它變快。