Uso de funciones de generación de perfiles de código de R para mejorar el rendimiento

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

En este artículo se describen las herramientas de rendimiento que los paquetes de R proporcionan para obtener información sobre las llamadas de funciones internas. Puede usar esta información para mejorar el rendimiento del código.

Sugerencia

En este artículo se ofrecen recursos básicos para comenzar. Para obtener orientación experta, se recomienda la sección sobre rendimiento del libro "Advanced R" de Hadley Wickham.

Uso de RPROF

rprof es una función incluida en el paquete base utils, que se carga de manera predeterminada.

Por lo general, la función rprof escribe la pila de llamadas en un archivo, a intervalos especificados. Después, se puede usar la función summaryRprof para procesar el archivo de salida. Una ventaja de rprof es que realiza el muestreo, lo que, por tanto, disminuye la carga de rendimiento de la supervisión.

Para usar la generación de perfiles de R en el código, llame a esta función y especifique sus parámetros, incluido el nombre de la ubicación del archivo de registro escrito. La generación de perfiles se puede activar y desactivar en el código. La sintaxis siguiente muestra el uso básico:

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

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

Nota

El uso de esta función requiere que Windows Perl esté instalado en el equipo donde se ejecuta el código. Por consiguiente, se recomienda generar perfiles del código durante el desarrollo en un entorno de R e implementar después el código depurado en SQL Server.

Funciones del sistema de R

El lenguaje R incluye muchas funciones del paquete base que devuelven el contenido de variables del sistema. Por ejemplo, como parte del código de R, podría usar Sys.timezone para obtener la zona horaria actual o Sys.Time para obtener la hora del sistema desde R.

Para obtener información sobre funciones individuales del sistema de R, escriba el nombre de la función como argumento en la función help() de R desde un símbolo del sistema.

help("Sys.time")

Depuración y generación de perfiles de R

La documentación de Microsoft R Open, que se instala de manera predeterminada, incluye un manual sobre el desarrollo de extensiones para el lenguaje R que analiza minuciosamente la generación de perfiles y la depuración.

Pasos siguientes