That's an incredible speedup - I've had a quick look over the patch, and it
looks to be doing all the right things, so I'd definitely be behind merging
this in. Have you tried running the test runner over some third-party apps'
tests to make sure it works? I suspect South's/migrations' might get weird,
but then I do nasty things and that's my problem to fix.

Andrew

On Thu, Sep 6, 2012 at 4:35 PM, Anssi Kääriäinen <anssi.kaariai...@thl.fi>wrote:

> On 6 syys, 19:17, Anssi Kääriäinen <anssi.kaariai...@thl.fi> wrote:
> > I now have a pretty good WIP approach of tracking changes in testing.
> > The changes can be found from here: [https://github.com/akaariai/
> > django/tree/fast_tests_merged]. The approach relies on existing
> > signals + a new "model_changed" signal, which is used to signal
> > bulk_create and .update() changes, and could be used for raw SQL
> > changes, too.
> >
> > The results are promising:
> >   - PostgreSQL with selenium tests, master 33m4s, patched: 9m51s
> >   - SQLite, no selenium tests, master: 7m35s, patched: 3m6s.
>
> I did a little bit more tuning, and now the runtime for SQLite is
> 2m34s (of which 30s is spent in time.sleep()). I can't see any more
> easy targets for performance improvements. The only thing that comes
> to mind is making fixture_loading use bulk_insert, but that has some
> problems (signals and multitable models aren't well supported by
> bulk_create).
>
> The changes done compared to the last try:
>     - Made validation skip already validated models
>     - Made contenttype fetching in permission creation more efficient
>     - Skip permission creation when there is nothing to create
>
> I also tested MySQL and Oracle, MySQL was around 9m30s without
> selenium tests and Oracle ran in 16m, no selenium tests. On Oracle the
> database creation takes 7m, actually running the tests 9m.
>
> For those interested there is a pyprofile at:
> http://users.tkk.fi/~akaariai/sqlite.pyprofile.gz
>
> As said, there doesn't seem to be anything too easy to squash any
> more.
>
>  - Anssi
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> 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.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
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.

Reply via email to