37 votos

Funciones de temporización en R

<ol> <li><p>Me gustaría medir el tiempo que se tarda en repetir el funcionamiento de una función. ¿Son <code></code> equivalentes y usan for-loops? Por ejemplo:</p> <pre><code></code></pre> <p>Cuál es el método preferido.</p></li> <li><p>En la salida de <code></code> , ¿es <code></code> el tiempo real de CPU para ejecutar el programa? ¿Es <code></code> una buena medida del rendimiento del programa?</p></li> </ol>

26voto

Jay Puntos 395

Con respecto a sus dos puntos:

  1. Es estilístico. Me gusta `` ya que es funcional.
  2. Tiendo a centrarme en `` , es decir, el tercer número.

Lo que hago a menudo es

para obtener una media recortada del 90% de N repeticiones de `` llamadas.

(Editado, con agradecimiento a Hadley por atrapar un thinko.)

4voto

Scott Cowan Puntos 1564

Con respecto a qué métrica de tiempo usar, no puedo agregar a los otros respondedores.

En cuanto a la función a utilizar, me gusta usar el ?benchmark del paquete rbenchmark.

2voto

Hacen cosas diferentes. Cronometra lo que deseas que se haga. replicate() devuelve un vector de resultados de cada ejecución de la función. El bucle for no lo hace. Por lo tanto, no son declaraciones equivalentes.

Además, cronometra una serie de formas en que quieres que se haga algo. Entonces puede encontrar el método más eficiente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X