Hi, On Thu, 2012-08-16 at 10:36 +0100, Graeme Geldenhuys wrote: > On 16 August 2012 10:12, Jonas Maebe <[email protected]> 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.
The -T only covers what fpmake is processing, i.e. packages. The -j switch is still usable, but won't help a lot because most of the compilation of the other things is not parallelizable on that level. Actually, the speedup due to use of -T is not much anyway, because the effort for packages are relatively minor to compiling the rtl and compiler six times (during the "cycle" :). > > 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? > If you compile your sources from a current SSD, it may not have any effect because it typically provides the necessary read/write performance to saturate all worker threads. The reason for specifying the "+1" (or any other magic constant/multiplier) is that without SSD the threads were often waiting for the HDD delivering data to process. Additional threads can do their work during that time. You can still do that, but the benefit may be small with an SSD, but adding another worker thread may not hurt too much either. Just test it because gains are dependent on the available hardware. I.e. use tools like "time". Thomas _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
