Re: [fpc-pascal] Compile time -> processor benchmark values
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
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
> 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
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