[fpc-devel] FPC 2.7.1 r22088 fails with compiler error in fpdoc.

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Aug 16 11:58:57 CEST 2012

Graeme Geldenhuys wrote on Thu, 16 Aug 2012:

> On 16 August 2012 10:12, Jonas Maebe <jonas.maebe at elis.ugent.be> wrote:
>> make FPC=latest-release all -j ncpus FPMAKEOPT="-T ncpus"
> Two questions...
> 1) Is the -j <n> option still needed, now that we moved to fpmake with
> the -T option? Sven said the -j option isn't usable any more.

It doesn't make a difference for the packages directory, because that  
one uses fpmake. It can make a difference for the RTL directory (it  
doesn't currently under Linux, but it may in the future).

> 2) Does the value passed to -j or -T differ? I know with -j <n> you
> usually specify the number of cores +1 (this was recommended all over
> the internet messages I read). The -T in fpmake means threads as far
> as I understand. So a i7 quad core can handle 8 threads
> simultaneously. So then in that case I would  specify -T 8.  Is this
> correct?

Those "all over the internet messages" are mostly based on experience  
from 10-20 years ago with extremely slow hard drives and even slower  
compilers. The idea is that while one process is waiting for I/O to  
complete, another process can use the waiting one's share of cpu time  
to compile something in between. However, since FPC compiles fairly  
quickly, you'll usually be completely I/O bound anyway if there is in  
fact an I/O bottleneck, so I doubt it will help much. Just time both  
scenarios a couple and see which one is faster. I don't think you'll  
see a statistically significant difference.

There is no semantic difference between the value for the -T and -j  
parameters (whether the code is executed in a separate thread or in a  
separate process is completely irrelevant), so just specify the same  
value for both.


More information about the fpc-devel mailing list