En este artículo aprenderemos a medir la ejecución o tiempo de ejecución de una función en el lenguaje de programación R.
Método 1: usar Sys.time
Para esto, primero cree una función de muestra que se ejecute durante una duración específica. Para hacerlo, pase la duración a la función Sys.sleep().
Sintaxis:
startTime <- Sys.time()
función()
HoraFinal <- HoraSist.()
Almacene/registre el tiempo antes de la ejecución en la variable startTime, luego, después de la ejecución de la función, almacene el tiempo en la variable endTime . Para obtener la hora actual del sistema, hemos utilizado la función Sys.time() , que no acepta ningún parámetro.
Luego calculamos la diferencia entre el tiempo después de la ejecución y el tiempo antes de la ejecución, esto nos da el tiempo de ejecución (tiempo de ejecución) de la función.
Ejemplo:
R
# sample func, whose exec time will be measured sleep_func <- function() { Sys.sleep(5) } startTime <- Sys.time() sleep_func() endTime <- Sys.time() # prints recorded time print(endTime - startTime)
Producción:
Diferencia horaria de 5.005118 segundos
Método 2: usando system.time()
Primero, cree una función de muestra que se ejecute durante un tiempo específico. Luego llame a sleep_func desde el parámetro de system.time( {} ), esto mide y devuelve el tiempo de ejecución de nuestra función sleep_func().
system.time({}) es una función simple que toma cualquier expresión, código o función de R como argumento y devuelve su tiempo de ejecución.
Nota: que la expresión R debe estar encerrada entre “ {} paréntesis ” antes de pasarla como argumento.
Sintaxis: system.time({ expresión R })
Parámetros:
R-expresión: Cualquier expresión R cuyo tiempo de ejecución se va a medir.
Ejemplo:
R
# sample func, whose exec time will be measured sleep_func <- function() { Sys.sleep(5) } system.time({sleep_func()})
Producción:
sistema de usuario transcurrido
0.000 0.000 5.005
Método 3: usando la biblioteca tictoc
Primero tenemos que instalar e importar la librería llamada “ tictoc ”. Luego definimos nuestra función de muestra que se ejecuta durante una duración específica. Llame a la función tic(), luego coloque cualquier expresión R o código o función(), luego termínelo con la llamada a la función toc(). Imprimirá el tiempo de ejecución de sleep_func(). La función tic() inicia el temporizador y la función toc() finaliza el temporizador, el tiempo transcurrido se mide para cualquier código que se coloque entre estas llamadas de función.
Ejemplo:
R
library(tictoc) sleep_func <- function() { Sys.sleep(5) } tic() sleep_func() toc()
Producción:
5.025 segundos transcurridos
Método 4: usar la biblioteca de microbenchmark
Primero tenemos que instalar e importar la biblioteca llamada «microbenchmark» y crear una función de muestra para que funcione durante un tiempo específico.
Sintaxis: microbenchmark( func() )
Parámetros: cualquier expresión o función de R
Pase sleep_func() como argumento en la función microbenchmark() . Imprimirá las puntuaciones de referencia de la función sleep_func(). Primero imprime la unidad que se está utilizando, luego imprime todos los detalles como el tiempo mínimo, el tiempo máximo, la media, la mediana, etc. En nuestro ejemplo, la unidad es milisegundos.
La función microbenchmark() en el lenguaje de programación R proporciona la infraestructura para realizar mediciones y comparaciones precisas del tiempo de ejecución de las expresiones R. Esta función a menudo funciona como un reemplazo del método system.time() que vimos en el Método 2, ya que proporciona resultados más precisos.
Ejemplo:
R
library(microbenchmark) sleep_func <- function() { Sys.sleep(0.5) } microbenchmark(sleep_func())
Producción:
Unidad: milisegundos
expr min lq media mediana uq max neval
función_dormir() 500.1297 500.5133 500.9525 500.9391 501.0605 506.7048 100
Método 5: usando la biblioteca rbenchmark
Primero, instale e importe la biblioteca llamada «rbenchmark».
Sintaxis : punto de referencia (función())
Parámetros : cualquier expresión o función de R
Pase sleep_func() como argumento en la función benchmark(). Imprimirá las puntuaciones de referencia de la función sleep_func().
Ejemplo:
R
library(rbenchmark) sleep_func <- function() { Sys.sleep(0.5) } benchmark(sleep_func())
Producción:
test replicaciones transcurridas relativo usuario.self sys.self usuario.child sys.child
1 sleep_func() 100 50.08 1 0.02 0 NA NA
Publicación traducida automáticamente
Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA