Utilizar funções de perfilagem de código R para melhorar o desempenho

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores

Este artigo descreve ferramentas de desempenho fornecidas pelos pacotes R para obter informações sobre chamadas internas de funções. Pode usar esta informação para melhorar o desempenho do seu código.

Sugestão

Este artigo fornece recursos básicos para o ajudar a começar. Para orientação especializada, recomendamos a secção Performance em "Advanced R" de Hadley Wickham.

Usar RPROF

rprof é uma função incluída no pacote base utils, que é carregado por defeito.

Em geral, a rprof função funciona escrevendo a pilha de chamadas num ficheiro, em intervalos especificados. Depois podes usar a summaryRprof função para processar o ficheiro de saída. Uma vantagem do rprof é que efetua amostragem, reduzindo assim o impacto no desempenho causado pela monitorização.

Para usar o perfil R no seu código, chama esta função e especifica os seus parâmetros, incluindo o nome da localização onde o ficheiro de registo é escrito. O perfilamento pode ser ativado ou desativado no teu código. A seguinte sintaxe ilustra o uso básico:

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

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

Note

Usar esta função exige que o Windows Perl esteja instalado no computador onde o código é executado. Por isso, recomendamos que faça um perfil de código durante o desenvolvimento num ambiente R e depois implemente o código depurado no SQL Server.

Funções do Sistema R

A linguagem R inclui muitas funções do pacote base para retornar o conteúdo das variáveis de sistema. Por exemplo, como parte do seu código R, pode usar Sys.timezone para obter o fuso horário atual, ou Sys.Time para obter a hora do sistema a partir de R.

Para obter informações sobre funções individuais do sistema R, escreva o nome da função como argumento para a função R help() a partir de um prompt de comandos R.

help("Sys.time")

Depuração e Perfilação em R

A documentação do Microsoft R Open, que está instalada por predefinição, inclui um manual sobre como desenvolver extensões para a linguagem R que aborda a criação de perfis e a depuração em detalhe.