Friday, June 09, 2006

Pydev 1.2 shaping up

Yeap... Pydev is going to the gym ;-)

I've spent the last week just evaluating it and making it run faster... I belive that it will have about a 20% gain in performance overall (depending on which features you use could be more or less).

Special attention was given for the parser, because it is used on lot's of things.

A (big) memory leak was also found and removed... I'll even comment a little more about it, as it was something that "amused" me for a while.

When I did an analysis, pydev would create a thread, and depending if it was a full build or a delta build, it would call 'run' or 'start' on the thread... Now, I've discovered that if you call 'run' in a Thread and not 'start', and loose its reference, it will NOT be garbage collected, so, you'll loose that memory forever (way to go ThreadGroup)... needless to say that this particular thread held a reference to the generated AST, so, basically, all the ASTs generated in a full build would be there for eternity -- considering eternity the lifetime of Eclipse ;-)

This is fixed for 1.2... Also, many changes were needed to make it work with Eclipse 3.2, so, please, wait for the next release of pydev to come out before migrating!

1 comment:

Anonymous said...

Not commented on anything before, but I would just like to tahnk you for your top quality effort on PyDev, a couple of colleagues and myself are using it daily to develop an application. Keep up the good work!