On Fri, 14 Aug 2009, Mattias Gaertner wrote:

On Fri, 14 Aug 2009 07:16:36 +0200
Jürgen Hestermann <[email protected]> wrote:

> BTW, when the compiler has to read and write disk files, a separate > thread will not speed up much. Then the compiler thread will be
> idle much time, waiting for disk I/O, and the main thread will be
> idle, waiting for the compiler. IMO.

That's true. The general problem is not that the IDE is not
responsive when compiling/linking but that compiling/linking takes so
long. If it would be as fast as in Delphi noone would complain.

It takes so long, because compiler and linker have to read all ppus
on every run. A persistent compiler and linker could keep some things.


And having compiler and linker in separate (asynchronous) threads
would be the same as starting them as a new process in asynchronous
mode. It would open a can of worms because of synchronising problems.

They only share files. The synchronising is easy.
The are good reasons to not put the compiler into the same process:
-a process can be aborted/killed easily
-various compiler versions
-compiler crashes do not effect the IDE

Good enough for me NOT to do it. If the compiler was internal to the
IDE, I could not easily compile for 32/64 bit or a different version, without including 2+ compilers in the IDE. As it is now, all I must do is set the compiler to use.

Florian's option seems a better approach, it would preserve this
possibility.

A sort of 'daemonized fpc'. You could use this as a back-end for a
website: pascal server pages instead of java server pages :-)

Michael.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to