2016-12-10 7 views
0

Je copie simplement mon code R (ou source(..)) sur une console, de sorte que la compilation dans R est très obscure pour moi.Options lors de la compilation R code

Lors de la compilation du code C++, on peut donner une indication au compilateur (comme #define ou #pragma par exemple) ou le drapeau spécifique pour indiquer le niveau d'optimisation (comme -o2 par exemple).

Existe-t-il un équivalent #InfoForCompiler ou -o2 dans R? Est-il possible de faire des choix spécifiques sur comment et quand (lors de la définition de la fonction ou lors de l'appel de la fonction pour la première fois) un code R est compilé?

+3

R est interprété, pas compilé, et n'utilise pas de préprocesseur, donc il n'y a vraiment pas d'équivalent à l'une de ces choses. – nrussell

Répondre

4

Quelle que soit la façon dont vous choisissez de compiler, R CMD COMPILE-R CMD INSTALL pour un paquet, ou par quelque chose comme Rcpp::sourceCpp(), il toujours être invoqué par R lui-même et

  • respecter R variables d'environnement comme CXXFLAGS
  • R recherche ses valeurs dans $RHOME/etc/Makeconf (sur les systèmes Debian également en /etc/R/Makeconf
  • Ces valeurs peuvent être remplacées via ~/.R/Makeconf par utilisateur base.

Mais @nrussell a commenté cette volonté ne affecter votre interprète R déjà compilé, que de nouvelles compilations supplémentaires - par exemple l'installation des paquets.

Pour modifier cela pour R lui-même, vous devez essentiellement reconstruire R à partir de la source.