Mudanças entre as edições de "ADS29009-2019-1"
Ir para navegação
Ir para pesquisar
Linha 1: | Linha 1: | ||
+ | =AULA 1 - Dia 26/07/2018= | ||
+ | *Apresentar e Discutir Plano de Ensino | ||
+ | *Conceitos em ADS | ||
+ | |||
+ | ==Plano de Ensino== | ||
+ | |||
+ | *[http://wiki.sj.ifsc.edu.br/index.php/ADS-EngTel_(Plano_de_Ensino) Plano de Ensino] | ||
+ | |||
+ | ==SLIDES DA AULA== | ||
+ | |||
+ | *[https://www.dropbox.com/s/stdiiq21gp5y3pd/IntroducaoAvaliacaoDesempenho.pdf] | ||
+ | |||
+ | ==ATIVIDADE PROPOSTA== | ||
+ | |||
+ | O código abaixo permite estimar o tempo de execução do programa (processo) para executar um determinado loop. | ||
+ | Modificar o programa e gerar um gráfico mostrando a média do tempo de execução para uma faixa de 1 até 100 processos. | ||
+ | Discutir o resultado. Postar um mini-relatório com dados do PC utilizado (número de cores), código, gráfico e discussão do resultado. | ||
<code> | <code> | ||
Linha 20: | Linha 37: | ||
gettimeofday(&start, NULL); | gettimeofday(&start, NULL); | ||
− | + | for (i=0; i<10000000000L; i++) { | |
− | + | } | |
− | |||
gettimeofday(&end, NULL); | gettimeofday(&end, NULL); | ||
Edição das 15h54min de 12 de fevereiro de 2019
AULA 1 - Dia 26/07/2018
- Apresentar e Discutir Plano de Ensino
- Conceitos em ADS
Plano de Ensino
SLIDES DA AULA
ATIVIDADE PROPOSTA
O código abaixo permite estimar o tempo de execução do programa (processo) para executar um determinado loop. Modificar o programa e gerar um gráfico mostrando a média do tempo de execução para uma faixa de 1 até 100 processos. Discutir o resultado. Postar um mini-relatório com dados do PC utilizado (número de cores), código, gráfico e discussão do resultado.
//Modificado de https://www.geeksforgeeks.org/measure-execution-time-with-high-precision-in-c-c/
- include <sys/time.h>
- include <sys/types.h>
- include <unistd.h>
- include <stdio.h>
int main()
{
long int i;
double tempo_bloco;
for (i=0;i<23;i++) {
if (fork()==0) {
struct timeval start, end;
gettimeofday(&start, NULL);
for (i=0; i<10000000000L; i++) {
}
gettimeofday(&end, NULL);
tempo_bloco = (end.tv_sec - start.tv_sec) * 1e6;
tempo_bloco = (tempo_bloco + (end.tv_usec -
start.tv_usec)) * 1e-6;
printf("Tempo = %lf\n", tempo_bloco);
return 0;
}
}
}
</syntaxhighlight>