Modérateur : Groupe des modérateurs
Code : Tout sélectionner
ByteCompile: true
Code : Tout sélectionner
library(compiler)
library(microbenchmark)
mafonction <- function(n = 100000) {
k <- 0
for(i in 1:n) {
k <- k + i
}
k
}
mafonctioncompilee <- cmpfun(mafonction)
microbenchmark(times = 10, unit = "s",
mafonction(),
mafonctioncompilee())
Code : Tout sélectionner
microbenchmark(times = 10, unit = "s",
mafonction(),
mafonctioncompilee())
Unit: seconds
expr min lq mean median uq max neval
mafonction() 0.027005598 0.027887728 0.028603676 0.028652379 0.028948026 0.030900969 10
mafonctioncompilee() 0.001893454 0.001932814 0.001989389 0.001945281 0.002006724 0.002293357 10
Stéphane Laurent a écrit : je peux y voir si la fonction est compilée, ou la compilation se passe sur CRAN ?
Je suis bien curieux d'en apprendre plus sur cette histoire de compilation...
Code : Tout sélectionner
> packageDescription("PowerTOST")
Package: PowerTOST
......
ByteCompile: yes
Eric Casellas a écrit :Sous windows par défaut l'installation des paquets R se fait en mode "binaire" ce qui peut correspondre à une compilation sur les serveur du CRAN (avec leur compilateur et ses options éventuelles). Il reste toutefois possible de faire l'installation à partir des sources et à ce moment la compilation se fait sur ta machine (avec le compilateur et ses options) (je ne saurais pas dire quelles sont les options par défaut ni si elles diffèrent de celles utilisé sur le CRAN). Sous unix on à en général accès qu'à la version source car ça demande trop de boulot de maintenir pour toutes les versions (en particulier il peut y avoir des soucis pour pouvoir faire des liens dynamiques ou alors faudrait passer par du statique qui pose d'autres problèmes par ailleurs.)
Eric
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité