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
- Pour plus d’informations sur l’optimisation des scripts R dans SQL Server, consultez Réglage du niveau de performance et optimisation des données pour R.
- Pour plus d’informations sur le réglage du niveau de performance dans SQL Server, consultez Centre de performances pour le Moteur de base de données SQL Server et Azure SQL Database.
- Pour plus d’informations sur le package utils, consultez Package R.utils.
- Pour des explications approfondies sur la programmation R, consultez « Advanced R » de Hadley Wickham.