使用 R 代码分析函数提高性能

适用于:SQL Server 2016 (13.x) 及更高版本

本文介绍 R 包提供的性能工具,这些工具可获取有关内部函数调用的信息。 你可以使用此信息来提高代码的性能。

提示

本文提供入门的基本资源。 要查看专家指导,建议参阅由 Hadley Wickham 编写的《Advanced R》中的“性能”部分。

使用 RPROF

rprof 是默认加载的基础包 utils 中的一个函数。

通常,rprof 函数会以指定的间隔将调用堆栈写入到一个文件中。 然后,可以使用 summaryRprof 函数来处理输出文件。 rprof 的一个优点是它会执行采样,从而降低监视对性能造成的影响。

要在代码中使用 R 分析,请调用此函数并指定其参数,包括要写入的日志文件的位置名称。 可以在你的代码中打开或关闭分析。 以下语法说明了基本用法:

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

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

注意

若要使用此函数,需要在运行代码的计算机上安装 Windows Perl。 因此,建议你在开发过程中在 R 环境中分析代码,然后将调试后的代码部署到 SQL Server。

R 系统函数

R 语言包括了许多用于返回系统函数的内容的基础包。 例如,你可以在 R 代码中使用 Sys.timezone 来获取当前时区,或者使用 Sys.Time 来从 R 获取系统时间。

若要获取有关各个 R 系统函数的信息,请在 R 命令提示符下键入函数名称作为 R help() 函数的参数。

help("Sys.time")

在 R 中进行调试和分析

默认情况下安装的 Microsoft R Open 的文档包括了一个有关为 R 语言开发扩展的手册,其中详细讨论了分析和调试

后续步骤