#22608: Migrations optimizer slow (due to double working?)
--------------------------------------+------------------------------------
Reporter: davids | Owner: nobody
Type: Cleanup/optimization | Status: new
Component: Migrations | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------------------+------------------------------------
Comment (by davidszotten):
my project, which spawned this ticket has certainly improved
when i raised the ticket:
`17353606 function calls (17308702 primitive calls) in 39.818 seconds`
vs
`3650282 function calls (3640151 primitive calls) in 9.895 seconds`
same code today (didn't re-run `makemigrations`; they are mostly the same
38, + 10 new ones added in django
`4268279 function calls (4178349 primitive calls) in 9.825 seconds`
vs
`3907185 function calls (3829169 primitive calls) in 9.213 seconds` (same
old slow laptop)
details:
{{{
Wed Jan 7 22:37:59 2015 separate.dat
4268279 function calls (4178349 primitive calls) in 9.825 seconds
Ordered by: internal time
List reduced from 553 to 15 due to restriction <15>
ncalls tottime percall cumtime percall filename:lineno(function)
28160 1.399 0.000 2.268 0.000
/Users/david/dev/django_source/django/db/models/fields/__init__.py:336(deconstruct)
471 1.292 0.003 1.292 0.003 {method 'execute' of
'psycopg2._psycopg.cursor' objects}
5009 0.800 0.000 1.256 0.000
/Users/david/dev/django_source/django/db/models/fields/related.py:309(swappable_setting)
28672 0.738 0.000 1.036 0.000
/Users/david/dev/django_source/django/db/models/fields/__init__.py:137(__init__)
855100/849476 0.569 0.000 0.576 0.000 {getattr}
19325 0.305 0.000 0.448 0.000
/Users/david/dev/django_source/django/db/models/options.py:721(_expire_cache)
94 0.292 0.003 0.292 0.003 {method 'commit' of
'psycopg2._psycopg.connection' objects}
31534 0.259 0.000 5.680 0.000
/Users/david/dev/django_source/django/db/migrations/state.py:396(construct_fields)
407619 0.189 0.000 0.232 0.000
/Users/david/dev/django_source/django/db/models/options.py:348(swapped)
61368/188 0.177 0.000 0.785 0.004
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py:145(deepcopy)
690682 0.144 0.000 0.147 0.000 {method 'get' of 'dict'
objects}
150051 0.133 0.000 0.133 0.000 {delattr}
144008/144006 0.128 0.000 0.299 0.000 {isinstance}
166461 0.127 0.000 0.127 0.000 {method 'update' of 'dict'
objects}
50220 0.107 0.000 0.224 0.000
/Users/david/dev/django_source/django/apps/config.py:168(get_models)
}}}
{{{
squashed.dat% stats 15
Wed Jan 7 22:44:14 2015 squashed.dat
3907185 function calls (3829169 primitive calls) in 9.213 seconds
Ordered by: internal time
List reduced from 546 to 15 due to restriction <15>
ncalls tottime percall cumtime percall filename:lineno(function)
392 1.457 0.004 1.458 0.004 {method 'execute' of
'psycopg2._psycopg.cursor' objects}
25440 1.202 0.000 1.980 0.000
/Users/david/dev/django_source/django/db/models/fields/__init__.py:336(deconstruct)
4832 0.773 0.000 1.226 0.000
/Users/david/dev/django_source/django/db/models/fields/related.py:309(swappable_setting)
26028 0.758 0.000 1.028 0.000
/Users/david/dev/django_source/django/db/models/fields/__init__.py:137(__init__)
773770/768262 0.514 0.000 0.520 0.000 {getattr}
21612 0.339 0.000 0.495 0.000
/Users/david/dev/django_source/django/db/models/options.py:721(_expire_cache)
28422 0.239 0.000 5.281 0.000
/Users/david/dev/django_source/django/db/migrations/state.py:396(construct_fields)
397942 0.185 0.000 0.227 0.000
/Users/david/dev/django_source/django/db/models/options.py:348(swapped)
52884/164 0.157 0.000 0.704 0.004
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/copy.py:145(deepcopy)
168181 0.146 0.000 0.146 0.000 {delattr}
619322 0.135 0.000 0.138 0.000 {method 'get' of 'dict'
objects}
130099/130097 0.115 0.000 0.265 0.000 {isinstance}
151382 0.114 0.000 0.114 0.000 {method 'update' of 'dict'
objects}
52222 0.110 0.000 0.236 0.000
/Users/david/dev/django_source/django/apps/config.py:168(get_models)
4371 0.089 0.000 0.459 0.000
/Users/david/dev/django_source/django/db/models/fields/related.py:1803(__init__)
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/22608#comment:21>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/064.96ead020b8109991e68efe068d343b18%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.