Desenvolvi uma pequena biblioteca, <a href=” https://github.com/dmcrodrigues/TimeMonitor”> TimeMonitor </a>, para fornecer a capacidade de encontrar gargalos de tempo no código. É escrito em C e pode ser usado facilmente.
Uso básico
TimeMonitor *monitor = tm_init();
...
tm_start_profiling(monitor);
...
tm_add_timepoint(monitor, "some custom timepoint description");
...
tm_stop_profiling(monitor);
...
tm_print_info(monitor);
Os resultados são apresentados a seguir.
| timepoint 1 | 1 ms ( 0.00%) | input-case generation completed |
| timepoint 2 | 14276 ms ( 99.00%) | selection sort completed |
| timepoint 3 | 0 ms ( 0.00%) | check 100000 results from selection sort algorithm completed |
------------------------------------------------------
[TOTAL] - elapsed time: 14278 (ms)
Você pode verificar o projeto no Github.