Share via


使用 R 分析函式來改善效能

適用於:SQL Server 2016 (13.x) 和更新版本

此文章描述由 R 套件所提供的效能工具,以取得內部函式呼叫的相關資訊。 您可以使用此資訊來改善程式碼效能。

提示

本文提供您開始使用時的基本資源。 如需專家指導,建議您閱讀由 Hadley Wickham 所著 "Advanced R" 中的 Performance 一節。

使用 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 語言延伸模組的手冊,其中會詳細討論分析與偵錯

後續步驟