Re: [fpc-pascal] Compile time -> processor benchmark values

2023-05-29 Thread Marco van de Voort via fpc-pascal


On 29-5-2023 16:24, Sven Barth via fpc-pascal wrote:


FPC itself is single threaded. So for that the single thread rating is 
more important. However Lazarus (and fpmake) can parallelize the 
building of packages if they don't depend on each other. On the other 
hand this is only really important when rebuilding and not when doing 
normal builds.


Each core above 4 is increasingly irrelevant.

I bought some machines recently, and did test some build times on 
Windows for FPC snapshot (clean,build,install, with as many options as I 
know):


i7-3770 desktop 142s

Ryzen 5800H laptopĀ  103s

Ryzen 4800H laptop 118s

Ryzen 5700X desktop 89s

Note that some of the 5700X's speed comes from a nearly twice as fast 
clean (15s vs 28-33s)as the other machines. The only reason I can think 
of for that is that the machine has a retail SSD (Corsair MP510, decent, 
but nothing extreme), the other two Ryzens also have PCIe SSDs, but 
factory installed.


I tested some of the 8 core ryzens with settings to 6 cores, and the 
difference is a few seconds only.

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Compile time -> processor benchmark values

2023-05-29 Thread Michael Van Canneyt via fpc-pascal




On Mon, 29 May 2023, Hairy Pixels via fpc-pascal wrote:





On May 29, 2023, at 9:24 PM, Sven Barth via fpc-pascal 
 wrote:

FPC itself is single threaded. So for that the single thread rating is more 
important. However Lazarus (and fpmake) can parallelize the building of 
packages if they don't depend on each other. On the other hand this is only 
really important when rebuilding and not when doing normal builds.


I was curious about this, if the compiler was overhauled and it could be
made multi-threaded could it compile each unit on a different thread? 
Maybe it would be complicated but if a unit graph was constructed   you

could isolate units that don't depend on each other and compile them on
their own threads right?


Theoretically, yes.

But there are some global structures that would need to be protected from
simultaneous access by the various threads (e.g. symbol tables).

It is far from sure this can be done in a manner that does not destroy 
the advantage of multi-thread. It could well be that the threads spend more

time waiting than actually compiling.



If I recall this is impossible currently because of the use of global variables.


Yes. There are lots of them.

Michael.
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Compile time -> processor benchmark values

2023-05-29 Thread Hairy Pixels via fpc-pascal



> On May 29, 2023, at 9:24 PM, Sven Barth via fpc-pascal 
>  wrote:
> 
> FPC itself is single threaded. So for that the single thread rating is more 
> important. However Lazarus (and fpmake) can parallelize the building of 
> packages if they don't depend on each other. On the other hand this is only 
> really important when rebuilding and not when doing normal builds.

I was curious about this, if the compiler was overhauled and it could be made 
multi-threaded could it compile each unit on a different thread? Maybe it would 
be complicated but if a unit graph was constructed   you could isolate units 
that don't depend on each other and compile them on their own threads right?

If I recall this is impossible currently because of the use of global 
variables. 

Regards,
Ryan Joseph

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] Compile time -> processor benchmark values

2023-05-29 Thread Sven Barth via fpc-pascal

Am 29.05.2023 um 15:23 schrieb Rainer Stratmann via fpc-pascal:

Now I have a i7-3770S

cpubenchmark says:
Average CPU Mark: 6175
Single Thread Rating: 2043
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-3770S+%40+3.10GHz

I expect to buy a new computer with a i5-13400F or similar
cpubenchmark says:
Average CPU Mark: 25969
Single Thread Rating: 3702
https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i5-13400

What is important for the compile time?
The average CPU Mark that means more than 4 times faster?
Or the single thread rating that means 1,8 times faster?

Besides faster memory, ssd, etc.


FPC itself is single threaded. So for that the single thread rating is 
more important. However Lazarus (and fpmake) can parallelize the 
building of packages if they don't depend on each other. On the other 
hand this is only really important when rebuilding and not when doing 
normal builds.


So in my opinion I'd keep an eye on the single thread rating.

Regards,
Sven
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal