E aí, pessoal!
Estou às voltas com minha monografia de final de curso que é otimização de shell sort utilizando algoritmos genéticos.
A questão é que para comparar a performance do que irei desenvolver com outros já existentes é necessária alguma medida de comparação o mais exata possível. Assim, resolvi que a medida seria o número de trocas e comparações efetuadas no vetor.
O problema é: todo mundo sabe que uma comparação de elementos é bem mais rápida que uma troca, mas quanto mais rápida? E o quanto essa relação muda de uma arquitetura para outra (processadores com tamanhos de cache diferentes, quantidade de memória, etc?)?
Assim, estou querendo desenvolver um programinha em C que efetue alguns bilhões de comparações e trocas de elementos e calcule proporcionalmente quanto cada um gasta de tempo de processamento. Como um exemplo, um professor meu disse que uma vez, empiricamente (pra não dizer no chute ), tinha usado a proporção de 3:1 e acabou verificando que é algo muito próximo disso.
Mas, resumindo, como meu C está um pouco enferrujado, gostaria de dicas do pessoal mais experiente em C sobre como implementar essa comparação, artigos abordando essa questão (tentei pesquisar no google, mas não achei nada) ou qualquer coisa que possa ajudar.
Abraço!
GBastos
Super Participante
Registrado
777 Mensagens
4 Curtidas
C - Comparar tempo de processamento de trocas e comparações
#1 Por GBastos
21/07/2006 - 17:27