Así que a menudo me encuentro con la situación de querer comparar el tiempo de ejecución de dos procesos informáticos. Incluso cuando se mide sólo el tiempo de usuario+sistema (a diferencia del tiempo del reloj de pared) hay un elemento aleatorio en el tiempo medido. Voy a suponer que esta aleatoriedad se distribuye de forma poisson (cambios de tareas e interrupciones de eventos aleatorios en el sistema informático).
Mi hipótesis es que un solo programa con una entrada idéntica se ejecutará en una cantidad de tiempo que se compone de una cantidad de tiempo constante para ejecutar las instrucciones y una cantidad de tiempo aleatoria generada por uno o más procesos de Poisson.
Así que simplifiquemos por el momento y supongamos que hay un proceso de Poisson y que cada vez que ocurre representa la misma cantidad de tiempo. No conocemos lambda, ni t(lambda), el tiempo asociado a ella. Sin embargo, puedo ejecutar el mismo programa con la misma entrada muchas veces.
¿Cómo puedo estimar cuál es la parte constante del tiempo de ejecución? ¿Cómo puedo estimar lambda y t(lambda)?
La cuestión más profunda es...
Si tengo dos programas que hacen lo mismo y quiero estimar la probabilidad de que uno se ejecute más rápido que el otro ¿cómo lo haría? Parece que aplicar a ciegas la distribución normal podría ser problemático. La parte aleatoria es (creo) poisson; pero antes de aplicar la distribución poisson tendría que factorizar la parte constante.