Arquitetura
Trabalho Prático – VTune
Arquitetura de Computadores
Júnior Rhis Lima
Ouro Preto, 07 de julho de 2014
1) Código Original
2) Análise VTune (Código Original)
2.1) Basic Hotspot
Pelo relatório gerado através do Basic Hotspot, observa-se que o printf que tem a função de mostrar quando se atinge um determinado vértice do grafo é o principal responsável pelo atraso na execução do programa, ou seja, é onde o se gasta o maior tempo durante a execução do programa.
2.2) Advanced Hotspot
Pelo relatório gerado através do Advanced Hotspot, observa-se que além do printf existem outros trechos do código que demandam um maior tempo de execução, provavelmente trechos em que o grafo é percorrido, diante disso, observa-se que as melhorias a serem feitas no código devem ser realizadas no printf e na forma como o grafo é percorrido. 2.3) Relatório do Processador
Ciente dos trechos do código onde a execução se torna lenta, foram aplicadas as seguintes melhorias:
- O printf responsável em mostrar quando se atinge um determinado vértice do grafo foi simplesmente removido, por não interferir no funcionamento da aplicação;
- A forma como o grafo é percorrido foi modificada, ao invés de se percorrer linha por linha, agora se percorre coluna por coluna, o que já é suficiente para diminuir significativamente o tempo de execução gasto ao se percorrer o grafo.
A seguir encontra-se o código melhorado.
3) Código Melhorado
4) Análise VTune (Código Melhorado)
4.1) Basic Hotspot
Observa-se uma mudança absurda no tempo de execução desse novo algoritmo, resultado das melhorias feitas no código.
4.2) Advanced Hotspot
Observa-se novamente uma mudança absurda no tempo de execução desse novo algoritmo. Resultado dos trechos onde o grafo é percorrido, que agora demandam menos tempo, e ao printf, que não existe mais.
5) Comparativo dos Basic Hotspots
Pelo Basic Hotspot do código original percebe-se que o printf era a principal causa do atraso na