[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.
Jonas
More information about the fpc-devel
mailing list