[fpc-devel] Why/how does the compiler have a non-trivial number ofmemory leaks after over two decades of development?

R0b0t1 r030t1 at gmail.com
Mon Jul 30 18:11:23 CEST 2018


On Mon, Jul 30, 2018 at 10:35 AM, Michael Van Canneyt
<michael at freepascal.org> wrote:
>
>
> On Mon, 30 Jul 2018, R0b0t1 wrote:
>
>> On Mon, Jul 30, 2018 at 7:32 AM, Martok <listbox at martoks-place.de> wrote:
>>>
>>> Am 30.07.2018 um 14:24 schrieb Marcos Douglas B. Santos:
>>>>
>>>> Is performance more important than being correct?  :|
>>>
>>> In this project, the answer is always taken to be yes.
>>>
>>
>> To hopefully offer some explanation for Mr. Santos - if I can compile
>> and run the program 5 times over the course of 20 minutes, that is
>> certainly better than running it and testing it once over the same
>> amount of time, no?
>>
>> It might be hard to imagine FPC taking that much longer than it does
>> currently but ~30min for a large program is the standard with other
>> compilers. I very much enjoy the speed of FPC.
>
>
> 30 *Minutes*, is this real ?
>
> Hm. I just complained to a component provider because Delphi takes 25
> seconds to compile my program with the way they set up their paths...
>

This is real.[1] I've experienced it myself and you can see some good
discussions on https://news.ycombinator.com with a search. FPC/Lazarus
has made some waves there in the last few years.

FPC does have quite a bit of a lead it could shed in an attempt to be
"more correct" but I would caution against this. If at every point in
a software stack someone says "modern computers are just so fast, we
have a little bit of wiggle room" you end up with something slower
than molasses. Perfection requires effort at every single step.

A good case study on this is keyboard latency in modern systems.[2]

Cheers,
     R0b0t1

[1]: The most extreme comparison was closer to being something like a
couple of minutes vs. a couple of hours, but I can't source that right
now. Most people think it's a lie; granted, some of it is likely due
to the excellent incremental compilation FPC has by default.
[2]: https://danluu.com/keyboard-latency/



More information about the fpc-devel mailing list