Graeme Geldenhuys wrote:
> On 19/02/2008, Mattias Gärtner <[EMAIL PROTECTED]> wrote:
>> Yes, and I already started something. The problem is, that Lazarus and FPC 
>> comes
>> with more than 130.000 identifiers (linux fpc 2.2.1) and that searching takes
> 
> Yikes!
> 
>> some time. The search time is mostly limited by the harddisk speed, so the
>> first time the search can take a minute on slow systems. Of course the second
>> time the codetools finds the identifier in a second on recent systems.
>> So, I was thinking about this:
>> When the find declaration fails the IDE pops up a progress dialog with a 
>> cancel
>> button, running the code browsing to locate candidates.
> 
> So the first attempt uses the uses clause?  Second attempt will do the search.
> 
> I'm sure others will complain, but heres another though. :) What if
> you do the search at Lazarus startup. After Lazarus started and loaded
> it's first project, fire off a background thread (low priority) doing
> the searching. While the developers starts finding his feet and starts
> coding, Lazarus is collecting the lookup table (or whatever it needs)
> in memory in the background.  Realistically, by the time the developer
> is looking for help on something, everything is already loaded.  That
> cache information could maybe even be saved to the hard drive so at
> the next Lazarus startup the cache can be loaded from the hard drive
> first, making the lookup loading even quicker.
> 
> I guess some people would prefer to have the background search thread
> as a toggle option in Environment dialog.
> 
> Regards,
>   - Graeme -
> 
> 

Very good idea, maybe sqlite3 database could be used with index ? It 
will be very very fast solution but one additional library is needed :-( 
(sqlite3.dll under windows).Anyway any flat database could be useful 
with fast indexing.


Regards
Boguslaw
_______________________________________________
Lazarus mailing list
[email protected]
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to