static[0] 138017 function calls in 0.818 seconds
Ordered by: internal time List reduced from 79 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 1000 0.062 0.000 0.490 0.000 base.py:72(get_response) 2000 0.047 0.000 0.129 0.000 base.py:240(get_script_name) 1000 0.042 0.000 0.758 0.001 wsgi.py:210(__call__) 1000 0.040 0.000 0.247 0.000 urlresolvers.py:293(resolve) 1000 0.039 0.000 0.136 0.000 wsgi.py:129(__init__) 2000 0.031 0.000 0.052 0.000 trans_real.py:212(get_language) 7000 0.031 0.000 0.044 0.000 functional.py:182(inner) 3000 0.029 0.000 0.088 0.000 encoding.py:54(force_unicode) 14002 0.029 0.000 0.029 0.000 {isinstance} 1000 0.027 0.000 0.081 0.000 __init__.py:564(__init__) static[-1] 1929017 function calls in 10.654 seconds Ordered by: internal time List reduced from 80 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 201000 2.998 0.000 4.928 0.000 trans_real.py:212(get_language) 200000 1.288 0.000 8.378 0.000 urlresolvers.py:195(resolve) 1000 1.175 0.001 9.973 0.010 urlresolvers.py:293(resolve) 408000 1.085 0.000 1.085 0.000 {getattr} 206000 0.879 0.000 1.231 0.000 functional.py:182(inner) 201000 0.878 0.000 6.577 0.000 urlresolvers.py:153(regex) 201000 0.755 0.000 5.682 0.000 __init__.py:128(get_language) 201000 0.547 0.000 0.547 0.000 {method 'search' of '_sre.SRE_Pattern' objects} 199000 0.290 0.000 0.290 0.000 {method 'append' of 'list' objects} 1000 0.094 0.000 10.272 0.010 base.py:72(get_response) dynamic[0] 3745017 function calls in 20.459 seconds Ordered by: internal time List reduced from 80 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 402000 6.006 0.000 9.866 0.000 trans_real.py:212(get_language) 401000 2.528 0.000 16.700 0.000 urlresolvers.py:195(resolve) 1000 2.301 0.002 19.733 0.020 urlresolvers.py:293(resolve) 810000 2.162 0.000 2.162 0.000 {getattr} 402000 1.735 0.000 13.107 0.000 urlresolvers.py:153(regex) 407000 1.731 0.000 2.424 0.000 functional.py:182(inner) 402000 1.489 0.000 11.355 0.000 __init__.py:128(get_language) 402000 1.098 0.000 1.098 0.000 {method 'search' of '_sre.SRE_Pattern' objects} 400000 0.571 0.000 0.571 0.000 {method 'append' of 'list' objects} 1000 0.137 0.000 20.076 0.020 base.py:72(get_response) dynamic[-1] 3916017 function calls in 29.633 seconds Ordered by: internal time List reduced from 80 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 421000 8.650 0.000 14.267 0.000 trans_real.py:212(get_language) 420000 3.693 0.000 24.279 0.000 urlresolvers.py:195(resolve) 1000 3.299 0.003 28.606 0.029 urlresolvers.py:293(resolve) 848000 3.112 0.000 3.112 0.000 {getattr} 426000 2.552 0.000 3.592 0.000 functional.py:182(inner) 421000 2.527 0.000 18.993 0.000 urlresolvers.py:153(regex) 421000 2.176 0.000 16.443 0.000 __init__.py:128(get_language) 421000 1.639 0.000 1.639 0.000 {method 'search' of '_sre.SRE_Pattern' objects} 419000 0.805 0.000 0.805 0.000 {method 'append' of 'list' objects} 1000 0.211 0.000 29.103 0.029 base.py:72(get_response) seo[0] 1941017 function calls in 14.737 seconds Ordered by: internal time List reduced from 80 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 202000 4.162 0.000 6.855 0.000 trans_real.py:212(get_language) 201000 1.787 0.000 11.599 0.000 urlresolvers.py:195(resolve) 1000 1.594 0.002 13.797 0.014 urlresolvers.py:293(resolve) 410000 1.497 0.000 1.497 0.000 {getattr} 207000 1.243 0.000 1.747 0.000 functional.py:182(inner) 202000 1.230 0.000 9.164 0.000 urlresolvers.py:153(regex) 202000 1.056 0.000 7.911 0.000 __init__.py:128(get_language) 202000 0.693 0.000 0.693 0.000 {method 'search' of '_sre.SRE_Pattern' objects} 200000 0.402 0.000 0.402 0.000 {method 'append' of 'list' objects} 1000 0.143 0.000 14.221 0.014 base.py:72(get_response) seo[-1] 2022017 function calls in 15.401 seconds Ordered by: internal time List reduced from 80 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 211000 4.360 0.000 7.189 0.000 trans_real.py:212(get_language) 210000 1.872 0.000 12.135 0.000 urlresolvers.py:195(resolve) 1000 1.698 0.002 14.454 0.014 urlresolvers.py:293(resolve) 428000 1.565 0.000 1.565 0.000 {getattr} 216000 1.311 0.000 1.834 0.000 functional.py:182(inner) 211000 1.289 0.000 9.584 0.000 urlresolvers.py:153(regex) 211000 1.084 0.000 8.272 0.000 __init__.py:128(get_language) 211000 0.725 0.000 0.725 0.000 {method 'search' of '_sre.SRE_Pattern' objects} 209000 0.414 0.000 0.414 0.000 {method 'append' of 'list' objects} 1000 0.148 0.000 14.884 0.015 base.py:72(get_response) missing 8865573 function calls (8775573 primitive calls) in 57.023 seconds Ordered by: internal time List reduced from 225 to 10 due to restriction <10> ncalls tottime percall cumtime percall filename:lineno(function) 122000/62000 10.171 0.000 18.105 0.000 pprint.py:247(_safe_repr) 421000 8.741 0.000 14.432 0.000 trans_real.py:212(get_language) 420000 3.723 0.000 24.273 0.000 urlresolvers.py:195(resolve) 938000 3.385 0.000 3.385 0.000 {getattr} 1000 3.350 0.003 28.598 0.029 urlresolvers.py:293(resolve) 1405000 3.170 0.000 3.170 0.000 {method 'write' of 'cStringIO.StringO' objects} 443000 2.728 0.000 3.817 0.000 functional.py:182(inner) 1338000 2.570 0.000 2.570 0.000 {method 'isalpha' of 'str' objects} 421000 2.560 0.000 19.159 0.000 urlresolvers.py:153(regex) 421000 2.141 0.000 16.573 0.000 __init__.py:128(get_language) On Friday, October 12, 2012 12:47:51 PM UTC+3, Tom Evans wrote: > > It definitely doesn't help; ideally language code should be calculated > once per call to resolve, and the same value used throughout. > Hard-coding a value of 'en' for language code in > LocaleRegexProvider.regex gives an idea of what gains would be: > > Stock django: > > static[0] msec rps tcalls funcs > django 1583 6318 143 69 > > static[-1] msec rps tcalls funcs > django 20879 479 1934 70 > > > Hard coded 'en' in LocaleRegexProvider.regex: > > static[0] msec rps tcalls funcs > django 1424 7023 133 67 > > static[-1] msec rps tcalls funcs > django 4972 2011 929 68 > > static[0] represents tests matching the first URL in the urlconf, > static[-1] represents tests matching the approximately 100th URL in > the urlconf. > > Cheers > > Tom > -- You received this message because you are subscribed to the Google Groups "Django developers" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-developers/-/_U3JOtsVP58J. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.