[fpc-pascal] Will moving from due core CPU to 6 Core CPU of the same clock speed improve the speed of FPC compiling?

Martin fpc at mfriebe.de
Mon Aug 6 18:11:40 CEST 2018


On 06/08/2018 17:19, Dennis Poon wrote:
> Martin wrote:
>> On 06/08/2018 16:55, Dennis Poon wrote:
>>> The existing i3 uses DDR3 RAM and Core i5 will come with DDR4 RAM.
>> Well check on userbenchmark what difference you can expect for a 
>> single core benchmark. You can select the exact 2 cpu you are 
>> interested in.
>>
>> That should give you are good indication.
>>
> Thanks a lot.
> There is the exact comparison
> http://cpu.userbenchmark.com/Compare/Intel-Core-i5-8600K-vs-Intel-Core-i3-4130/3941vs1621
>
>
>
> Should I look at the yellow region?  it says average single core speed 
> is above 47% faster.
Yes, that line is single core benchmark

 From the help:
> Single core mixed speed is an important CPU test for consumers. It 
> measures the ability of a processor to perform both integer and 
> floating point operations at the same time. This test only stresses 
> one processing core at a time

FPC uses more parts of the cpu than the benchmark.
So the value is indicative.

So you *might* get 47%. It could even be a bit less than this. (to be on 
the save side, I would expect less)

Out of interest, how long does it take you to compile your project?

To give you are comparison, on an i7-8700k, ssd, plenty of RAM, to 
rebuild (clean) the IDE 1.8.4 / 64 bit / win 10
without debug info, with -O2 takes 35 secs
with debug info -gw, no opt takes 55 secs

- this includes cleaning old files, with takes a few seconds in itself
- about half is building packages. (during this time, usually several 
threads are active.)
- only for 4 to 5 secs (of the 55 secs) all cores are fully used. (so 
the 8600k should be close to the speed I got)

You can check how long this takes on your current system.

-----------------
If you are compiling in the Lazarus IDE, there are a few things you can do.

I assume your project is rather big (otherwise compile time should not 
really be the issue).

You can move units to packages. They may not have to be compiled each 
time, and if you move really lots to packages then they may be compiled 
in parallel (though the main project probably will still have the 
biggest chunk).

Another factor in this is, that compiling with debug info is slower. 
Using packages, you may compile some of them without debug info.

And lastly, it is not just compiling.
Starting the debugger takes some time too.
2 ways to deal with this:
- get the latest gdb. This may save a few percent.
- in Lazarus trunk, use fpdebug (package LazDebuggerFp). This is a good 
bit faster.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180806/f9103e3e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: knjagjbmkdcbhmob.png
Type: image/png
Size: 8120 bytes
Desc: not available
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20180806/f9103e3e/attachment.png>


More information about the fpc-pascal mailing list