Użyj funkcji profilowania kodu w R, aby poprawić wydajność

Dotyczy: SQL Server 2016 (13.x) i nowsze wersje

Ten artykuł opisuje narzędzia wydajnościowe udostępniane przez pakiety R służące do uzyskania informacji o wewnętrznych wywołaniach funkcji. Możesz wykorzystać te informacje, aby poprawić wydajność swojego kodu.

Wskazówka

Ten artykuł zawiera podstawowe materiały, które pomogą Ci zacząć. Do uzyskania fachowego wsparcia polecamy sekcję Performance w "Advanced R" autorstwa Hadleya Wickhama.

Użyj RPROF

rprof jest funkcją wchodzącą w skład podstawowego pakietu utils, który jest domyślnie ładowany.

Ogólnie rzecz biorąc, funkcja rprof działa, zapisując stos wywołań do pliku w określonych odstępach czasu. Następnie możesz użyć summaryRprof tej funkcji do przetworzenia pliku wyjściowego. Jedną z zalet rprof jest możliwość próbkowania, co zmniejsza obciążenie wydajnościowe związane z monitoringiem.

Aby użyć profilowania R w kodzie, wywołujesz tę funkcję i określasz jej parametry, w tym nazwę lokalizacji, w której zapisywany jest plik logu. Profilowanie można włączać i wyłączać w kodzie. Poniższa składnia ilustruje podstawowe użycie:

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

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

Note

Korzystanie z tej funkcji wymaga zainstalowania Windows Perl na komputerze, na którym uruchamiany jest kod. Dlatego zalecamy profilowanie kodu podczas tworzenia w środowisku R, a następnie wdrożenie debugowanego kodu na SQL Server.

Funkcje systemu R

Język R zawiera wiele podstawowych funkcji pakietu do zwracania zawartości zmiennych systemowych. Na przykład, jako część kodu R, możesz użyć Sys.timezone do uzyskania aktualnej strefy czasowej lub Sys.Time czasu systemowego z R.

Aby uzyskać informacje o poszczególnych funkcjach systemu R, wpisz nazwę funkcji jako argument do funkcji R help() z wiersza poleceń R.

help("Sys.time")

Debugowanie i profilowanie w R

Dokumentacja Microsoft R Open, który jest domyślnie zainstalowany, zawiera instrukcję tworzenia rozszerzeń dla języka R, która szczegółowo omawia profilowanie i debugowanie.