Partager via


Utiliser les fonctions de profilage de code R pour améliorer les performances

S’applique à : SQL Server 2016 (13.x) et versions ultérieures

Cet article décrit les outils d’analyse des performances fournis par les packages R pour obtenir des informations sur les appels de fonction internes. Vous pouvez utiliser ces informations pour améliorer le niveau de performance de votre code.

Conseil

Cet article fournit des ressources de base pour vous aider à démarrer. Pour obtenir des conseils d’expert, nous vous recommandons de lire la section Performance de l’ouvrage de Hadley Wickham, « Advanced R ».

Utilisez RPROF

rprof est une fonction intégrée au package de base utils, qui est chargé par défaut.

En général, la fonction rprof opère en écrivant la pile d’appels dans un fichier selon des intervalles définis. Vous pouvez ensuite utiliser la fonction summaryRprof pour traiter le fichier de sortie. L’un des avantages de la fonction rprof est qu’elle effectue un échantillonnage, ce qui atténue la charge de performances de la surveillance.

Pour utiliser le profilage R dans votre code, vous devez appeler cette fonction et spécifier ses paramètres, notamment le nom de l’emplacement du fichier journal qui sera écrit. Le profilage peut être activé et désactivé dans le code. La syntaxe suivante illustre l’utilisation de base :

# Specify profiling output file.
varOutputFile <- "C:/TEMP/run001.log")
Rprof(varOutputFile)

# Turn off profiling
Rprof(NULL)
    
# Restart profiling
Rprof(append=TRUE)

Notes

Pour pouvoir utiliser cette fonction, vous devez installer Windows Perl sur l’ordinateur appelé à exécuter le code. Par conséquent, nous recommandons de profiler le code pendant la phase de développement dans un environnement R, puis de déployer le code débogué sur SQL Server.

Fonctions du système R

Le langage R intègre la plupart des fonctions du package de base qui retournent le contenu des variables système. Par exemple, dans votre code R, vous pouvez utiliser Sys.timezone pour obtenir le fuseau horaire actuel ou Sys.Time pour obtenir l’heure système à partir de R.

Pour obtenir des informations sur les différentes fonctions du système R, tapez le nom de la fonction comme argument de la fonction help() R à partir d’une invite de commandes R.

help("Sys.time")

Débogage et profilage dans R

Dans la documentation de Microsoft R Open, qui est installée par défaut, vous trouverez un manuel sur le développement d’extensions pour le langage R qui traite en détail du profilage et du débogage.

Étapes suivantes