Condividi tramite


Migliorare le prestazioni tramite le funzioni di profilatura di R

Si applica a: SQL Server 2016 (13.x) e versioni successive

Questo articolo descrive gli strumenti per le prestazioni forniti dai pacchetti R per ottenere informazioni sulle chiamate di funzione interne. Queste informazioni possono essere usate per migliorare le prestazioni del codice.

Suggerimento

Questo articolo presenta alcune risorse di base per iniziare. Per linee guida per utenti esperti, è consigliabile vedere la sezione Performance (Prestazioni) in "Advanced R" (R avanzato) di Hadley Wickham.

Usare RPROF

rprof è una funzione inclusa nel pacchetto di base utils, caricato per impostazione predefinita.

In generale, la funzione rprof opera scrivendo lo stack di chiamate in un file a intervalli specificati. È quindi possibile usare la funzione summaryRprof per elaborare il file di output. Un vantaggio di rprof è il fatto di eseguire il campionamento, riducendo il carico delle prestazioni sul monitoraggio.

Per usare la profilatura R nel codice, chiamare questa funzione e specificarne i parametri, incluso il nome del percorso del file di log che verrà scritto. È possibile attivare o disattivare il profiling nel codice. La sintassi seguente illustra l'utilizzo di base:

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

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

Nota

Per poter usare questa funzione, è necessario che Windows Perl sia installato nel computer in cui viene eseguito il codice. Di conseguenza, è consigliabile profilare il codice durante lo sviluppo in un ambiente R e quindi distribuire il codice sottoposto a debug in SQL Server.

Funzioni di sistema R

Il linguaggio R include molte funzioni di pacchetto di base per la restituzione del contenuto delle variabili di sistema. Come parte del codice R, ad esempio, è possibile usare Sys.timezone per ottenere il fuso orario corrente o Sys.Time per ottenere l'ora di sistema da R.

Per ottenere informazioni su singole funzioni di sistema R, digitare il nome della funzione come argomento per la funzione R help() da un prompt dei comandi di R.

help("Sys.time")

Debug e profilatura in R

La documentazione per Microsoft R Open, installata per impostazione predefinita, include un manuale sullo sviluppo di estensioni per il linguaggio R che descrive profilatura e debug in modo dettagliato.

Passaggi successivi