39 votes

Un compilateur R existe-t-il?

Je m'interroge sur la meilleure façon de déployer R. Matlab a la "matlab compiler" (MCR). Il y a eu une discussion à propos de quelque chose de semblable dans le passé pour la R de dresser R en C ou C++. Quelqu'un a une expérience avec la R pour le Compilateur C (RCC) qui a été développé par John Garvin au Riz?

J'ai regardé dans, et il semble être le seul projet qui a travaillé sur la compilation de R code en code exécutable. Et aussi loin que je peux dire, il n'est pas toujours utilisé.

[Edit 1:]: Pour être clair, je sais qu'il y a C et C++ et Java, Python, etc.) les interfaces de R (rJava, rcpp, Rpy, etc.). Je m'interroge sur les moyens précis pour compiler et déployer R code sans l'installation de R à l'avance.

[Edit 2:]: John Mellor-Crummey me dit qu'ils travaillent encore sur le RCC et l'espoir de la rendre disponible dans 4 mois (au plus tôt). Je vais mettre à jour ce encore plus si je trouve quelque chose d'autre.

35voto

Luke Tierney Points 411

Un compilateur de code d'octet fera partie de la version R 2.13. Par défaut, il n'est pas utilisé dans cette version mais il est disponible. Je pense que la version 2.14 compilera par défaut tous les packages de base et recommandés. La page d’aide compiler :: compile et le manuel d’installation et d’administration de R fournissent des informations plus détaillées.

17voto

Dirk Eddelbuettel Points 134700

J'ai oublié le Riz projet, il a été un certain temps. Je pense que le opérationnelles terme est ici indiquée au haut de la page du projet: Dernière mise à Jour 3/8/06.

Et nous savons tous R change beaucoup de choses. Donc, j'ai seulement le standard quelques conseils pour vous:

  • Luc Tierney, qui non seulement connaît beaucoup de choses sur R internes, mais également sur les octets compilateurs, a été de travailler sur ce projet. Rien de prêt encore, et il va continuer à travailler en collaboration avec la norme R moteur.
  • Stephen Milborrow a la Ra extension de R qui fonctionne avec son just-in-time compiler le package jit
  • mon Introduction à l'Informatique à Haute Performance R tutoriels (le plus récent tutoriel diapositives à partir d'un Utilisateur! 2009) couvre le profilage, de compiler des prolongations, le calcul parallèle avec R, ... partie, y compris Rcpp et et un peu RInside.

En bref: il n'y a aucune façon d'avoir ce que vous désirez moyens spécifiques pour compiler et déployer R code sans l'installation de R à l'avance. Désolé.

Modifier/mettre à Jour (avril 2011): Luc de nouveaux compiler colis sera une partie de R 2.13.0 (à paraître en avril 2011), mais pas "activé" par défaut, ce qui est prévu pour la R 2.14.0 est prévu pour octobre 2011.

Modifier/mettre à Jour (décembre 2011): Prof Tierney vient de sortir une énorme+ de 100 pages sur le byte-code du compilateur.

6voto

Spacedman Points 33792

Pourquoi les gens ont-ils peur quand ils déploient R? Je suis à peu près sûr d'avoir déjà vu cette question.

L'installation de R est un jeu d'enfant (vous ne dites pas réellement quel système d'exploitation vous tient à cœur). Pour Windows, son unique .exe. fichier, lancez-le, dites "oui" plusieurs fois et c'est fait. Je soupçonne que le programme d'installation exe a probablement des drapeaux pour l'installation sans surveillance aussi.

3voto

AST Points 21

Vous pouvez consulter le compilateur P qui implémente un sous-ensemble de R. En particulier, des listes, matrices, vecteurs, etc. sont implémentés ainsi que lsfit, chol, svd, ...

Vous pouvez télécharger une version gratuite sur

www.ptechnologies.org

Cela accélère considérablement les calculs.

Meilleur,

COMME

3voto

Tristan Points 2832

Je n'ai pas utilisé Garvin de colis et de ne pas savoir ce qui est possible le long de ces lignes. Cependant:

Généralement les gens juste écrire de calcul intensif directement les fonctions en C/C++/Fortran, après profilage à trouver les goulots d'étranglement. Voir le RCpp de l'interface ou de l'Appel de fonctions C de R à l'aide .C et .Appel pour des exemples. La Faux de la Statistique de la Bibliothèque est également très agréable pour R les utilisateurs, car la syntaxe/les noms de fonction sont similaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X