F5 on a web project is very slow


Django project:

Using a virtual env: I've seen it take a minimum of 50 secs, up to 90 secs from F5 to dev server running.
Using a global env: Around 10-12 secs from F5 to dev server running.

And that's on a machine with an SSD. VS has the wait cursor and is not usable during most of that time.


Zooba wrote Jun 4, 2014 at 8:36 PM

I believe this is actually build, or possibly checking whether we need to build.

Can you see if Build\Build Solution or Build\Rebuild Solution show the same problem?

huguesv wrote Jun 4, 2014 at 9:12 PM

Virtual Env:
Build Solution: about 25 secs, only responsive during last few seconds
Rebuild Solution: about 3 secs
Start with Debugging: about 70 secs

Zooba wrote Jun 4, 2014 at 9:16 PM

This is at least partly due to recreating InterpreterOptionsService as part of the up-to-date check. We should be able to use the already loaded service when we are in-proc.

Zooba wrote Jun 4, 2014 at 9:49 PM

Removing the extra creation makes a difference, and according to the profiler everything that is left over is unavoidable due to the build process.

I'll have a look at omitting the virtual environment from the up to date check where possible, but it's likely that will break worker roles, so it may not be possible at all.

Zooba wrote Jun 4, 2014 at 10:11 PM

It makes a bit of a difference, and I suspect worker roles may already be broken...

huguesv wrote Jun 9, 2014 at 7:21 PM

I installed 2.0 RTM then 2.1 CL1272922 (June 6) to compare. Empty django project using Python 2.7 virtual env.

2.0 RTM:
F5 to process start: less than 1 sec

2.1 (June 6):
First F5 to process start: 26 secs
Second F5 to process start: 87 secs
Third F5 to process start: 92 secs
Clean + F5 to process start: 28 secs

So from now on I'll be doing a Clean before pressing F5...

Ptools wrote Jun 10, 2014 at 5:49 PM

we should fix this for beta2.