Picon

[Vala] R: Re: R: The perfect Vala/GNOME IDE...


Hi,

> Can you name the bottleneck that makes it slow at loading time?

Yes, it's the symbol resolving step that takes a lot of time, but 
there's more.

The first version of afrodite uses one separated thread 
for parsing / resolving this was the right thing to do, but complicated 
the api since the consumer should acquire a lock to query the symbol 
structure.
While still slow, this approach was right because it doesn't 
impact the user experience and gedit was still responsive while parsing 
the files.

In the following afrodite versions, in order to simplify 
the api I changed this model to single thread using async methods and 
throttiling the parser / resolver step.
The result was a slowdown of 
the parsing / symbol resolving process and since all of this is CPU 
bound and executed in main gedit thread the user experience was 
somewhat compromised.
In a word a big big FAIL :)

To fix this 
situation I think that I should:

1) Revert the parsing / symbol 
resolving to use another thread
(Continue reading)


Gmane