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
