[R] How to add make option to package compilation?
Martin Morgan
martin.morgan at roswellpark.org
Fri Sep 15 15:13:41 CEST 2017
On 09/15/2017 08:57 AM, Michael Dewey wrote:
> In line
>
> On 15/09/2017 13:30, Martin Møller Skarbiniks Pedersen wrote:
>> On 15 September 2017 at 14:13, Duncan Murdoch <murdoch.duncan at gmail.com>
>> wrote:
>>
>>> On 15/09/2017 8:11 AM, Martin Møller Skarbiniks Pedersen wrote:
>>>
>>>> Hi,
>>>>
>>>> I am installing a lot of packages to a new R installation and it
>>>> takes
>>>> a
>>>> long time.
>>>> However the machine got 4 cpus and most of the packages are
>>>> written in
>>>> C/C++.
>>>>
>>>> So is it possible to add a -j4 flag to the make command when I
>>>> use the
>>>> install.packages() function?
>>>> That will probably speed up the package installation process 390%.
>>>>
>>>
>>> See the Ncpus argument in ?install.packages.
>>
>>
>> Thanks.
>>
>> However it looks like Ncpus=4 tries to compile four R packages at the
>> same
>> time using one cpu for each packages.
The variable MAKE is defined in ${R_HOME}/etc/Renviron, and can be
over-written with ~/.Renviron
MAKE=make -j
There is further discussion in
https://cran.r-project.org/doc/manuals/r-release/R-admin.html#Configuration-variables
and ?Renviron.
One could configure a source installation to always compile with make
-j, something like ./configure MAKE="make -j"
Martin
>>
>
> But you said you had lots to install so would that not speed things up too?
>
>> From the documentation:
>> "
>> Ncpus: the number of parallel processes to use for a parallel
>> install of more than one source package. Values greater than
>> one are supported if the ‘make’ command specified by
>> ‘Sys.getenv("MAKE", "make")’ accepts argument ‘-k -j Ncpus’
>> "
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>> ---
>> This email has been checked for viruses by AVG.
>> http://www.avg.com
>>
>
This email message may contain legally privileged and/or...{{dropped:2}}
More information about the R-help
mailing list