[Lazarus] instantfpc has moved

Michael Van Canneyt michael at freepascal.org
Sun Jul 10 11:52:53 CEST 2011



On Sun, 10 Jul 2011, Mattias Gaertner wrote:

> On Sun, 10 Jul 2011 19:04:37 +1100
> Alexander Klenin <klenin at gmail.com> wrote:
>
>> On Sun, Jul 10, 2011 at 18:56, Mattias Gaertner
>> <nc-gaertnma at netcologne.de> wrote:
>>>> Perhaps it is obvious to you, but I'd propose to store the source hash
>>>> instead of source itself,
>>>> and include compiler version in said hash. It will not solve unit
>>>> dependency issue,
>>>> but still would be an improvement IMHO.
>>>
>>> If you know a fast check for the compiler version, feel free to
>>> implement it. Otherwise this should be optional.
>>>
>>
>> Is fpc -v too slow?
>
> yes
>
> I guess you mean fpc -iW
>
> It starts two executables, fpc and ppccpu, so it increases
> the time of running a simple program more than twice plus it needs
> more memory. On a normal Linux system this is ok, so it can be done by
> default.

You must be joking ?

I don't think this is a good idea.

One of the things I liked about instantfpc is that it is fast in case the 
script already was compiled.

If storing the hash to make comparison faster means that you must start 
2 extra executables, it makes the end result slower, which voids the purpose 
of the whole hashing operation. (aka it is not very clever)

You can do the hashing in-memory, but I doubt this will give a noticeable speedup.
The loading time of an executable dwarfs the comparison operation, especially for 
small scripts.

And if the purpose is to do dependency checking, I don't see why you would want this:

a) if the program has changed, it will be recompiled anyway.

b) if some of the installed units have actually changed behaviour which you think will
    influence one of your already-compiled scripts, you'll know about it and can clear
    the cache manually once.
    in case their behaviour has not changed, there is no point in recompiling them.

Very little gain for such an invasive change.

So: please don't do this change.

What could be useful is a command-line option to clear the cache for you.

Michael.




More information about the Lazarus mailing list