Thursday, June 01, 2006

Pydev faster start-up

Ok, when starting pydev, until now, all its aspects where initialized linearly when some part of the plugin was requested. As you usually started with the editor, the time it would take pydev to be usable was about 40 secs (in a good machine), because it would have to start:

1 - the plugin (major work was on loading the interpreter information)
2 - the editor itself (major work was on starting up the scripting engine and binding some actions to the editor)

-- This was just the initial loading time (one-time operation), so, new editors after that would be pretty fast, but still, that initial start-up could be annoying sometimes...

So, now the structure was changed so that you can start pydev and begin using it making the other initializations in a thread. It became a bit more complex, because binding actions would have to sync with the main thread and so on, but on the other hand, after starting pydev, it would take (in a good machine) 1-2 secs to open an editor that first time (quite acceptable in my opinion).

When that happens, some actions might still not be 'readily' available, such as the scripts, so, if you request them right away, they just won't be available as you'll have to wait those other threads make their work, but still, you can already open and begin typing without using that (which is the most common behaviour).

I also think most performance bottleneck were sorted out, so version 1.0.9 should be quite responsive -- it should be released in the start of the next week.



No comments: