Dar formato a un registro de tiempos tipo StopWatch

propuesto por josejuan

StopWatch es una conocida clase de .Net y Java que permite medir los tiempos de ejecución de nuestro código. Se pide dar formato a los registros realizados por este tipo de trazas.

Enunciado
Supón que tenemos los inicios y fin de ciertos procesos que nos interesa tener registrados y que dichos registros contienen procesos anidados. Se pide escribir una función o similar que dados dichos registros, por ejemplo:
Start 10 "Start process"
Start 15 "Reading configuration"
Stop  21
Start 24 "Processing data"
Start 24 "Preprocessing factors"
Stop  26
Start 28 "Computing result"
Stop  29
Stop  31
Start 32 "Closing resources"
Stop  33
Stop  33
Start 33 "Exiting"
Stop  33

Nos imprima bien formateado y anidado los tiempos de cada registro. Con los datos del ejemplo anterior tendría que imprimir algo como:
|- Start process (23 mS)
    |- Reading configuration (6 mS)
    |- Processing data (7 mS)
        |- Preprocessing factors (2 mS)
        |- Computing result (1 mS)
    |- Closing resources (1 mS)
|- Exiting (0 mS)

Ver todo el enunciado

Preguntas sobre el desafío

¿Tienes dudas sobre el desafío? plantéala aquí

Plantea tu pregunta

1 Solución

Dar mi solución