On Wed, 7 Dec 2005, Micha Nelissen wrote:

Michael Van Canneyt wrote:
The point is that lazarus can already detect itself whether it should
call the compiler or not. If no project related files were changed in
the IDE since the last succesful compile, then it should not call the
compiler at all.

Moving the responsibility eh?

Oh, no, that's not the intention. The issue is speed, no ?

"no project related files" is really a lot

Why ? Lazarus keeps a list of project files in the lpi file.
A modified flag is probably already present.
So it's just a single loop with a check for a boolean ?

while fpc already implements 99% of that checking, so why duplicate that checking code in lazarus...I don't see the point.

The point is not calling the compiler when you know it's not needed.

The 'you know' is only a matter of checking a set of booleans in a simple
loop.

This is quite simple when comparing it to writing an extra .ppu file with
a lot of extra info, loading and checking all related .ppu files etc:
all things the compiler must do before it can decide that nothing must be
recompiled, and which also take time. Try that with FPC on an NFS mounted
directory tree (or a network drive on Windows), you'll see that it really does
take time. (I tried once with Delphi. Never again!)

The really hard issue here, in my opinion, is that the linker is slow.
The best solution is having an internal linker.

Michael.

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to