You are on page 1of 6

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO

AMAZONAS
CAMPUS ZONA LESTE
DIRETORIA/ DEPARTAMENTO/ PROGRAMA GRADUAÇÃO
CURSO ENGENHARIA DE SOFTWARE

STEPHANIE PINHEIRO MEIRINO

ARQUITETURA DE COMPUTADORES: BENCHMARK

MANAUS-AM
2022
STEPHANIE PINHEIRO MEIRINO

ARQUITETURA DE COMPUTADORES: BENCHMARK

MANAUS-AM
2022
Introdução
Este estudo tem como objetivo demonstrar a implementação de um Benchmark, mas afinal, o
que seria um Benchmark? Este pode ser entendido como um ato de comparar de forma
eficiente a performance entre dispositivos utilizando um ou mais programas, sendo
geralmente associado a avaliação de hardwares, mas também pode ser aplicado a softwares,
de forma a analisar apenas dados técnicos, dando a possibilidade de analisar e realizar
modificações necessárias para melhor desempenho. Os benchmarks são projetados para imitar
um tipo específico de trabalho em um componente ou sistema.
Objetivos

Elaborar um Benchmark para analisar o desempenho de um programa tendo como foco um


modificador de variáveis de linguagem C.
Usar o programa CalculaTempo.c, que está em anexo para realizar os experimentos. O
programa possui duas variáveis do tipo long int (x e y) e uma variável do tipo double
(tempo). No corpo do programa, são executados dois laços de repetição aninhados que farão a
contagem de 1 até 60.000 em cada repetição, ou seja, o programa deverá executar
3.600.000.000 repetições, consumindo bastante tempo do processador e da memória. Antes de
iniciar o processo das repetições, é contado o tempo inicial através da função
O programa deverá ser executado 10 vezes e cada tempo deverá ser anotado. Após 10
execuções, será acrescentado o modificador register, e então o programa deverá ser executado
mais 10 vezes.

Programa Executado

#include<stdio.h>
#include<time.h>
main()
{
long int x,y;
double tempo=0.0;

printf("Programa iniciado. \nCalculando o tempo de


processamento...");

clock_t begin = clock();

for(x=0;x<60000;x++)
for(y=0;y<60000;y++)
;

clock_t end = clock();

tempo+=(double)(end-begin)/CLOCKS_PER_SEC;
printf("\n\nTempo decorrido: %f segundos",tempo);
}
Especificações do Equipamento Utilizado

CPU: Intel Core i7-8559U 1.80 GHz 2.00Ghz


Memória RAM: 16 GB DDR4
SSD:225 GB

Em execução: Code Blocks; Sentinel One Agent;

Resultados Obtidos

Ordem de Registro Sem Register Com Register SpeedUp


(Em segundos) (Em segundos)
1 6.96 s 5.176 1,34
2 5.552 5.198 1,061
3 5.31 5.376 0,987
4 5.263 5.253 1,001
5 5.645 5.246 1,076
6 5.462 5.385 1,014
7 5.807 5.326 1,090
8 5.303 5.219 1,016
9 5.211 5.231 0,996
10 5.187 0.945 5,488

Speedup pode ser definido como a relação entre o tempo gasto para executar uma tarefa com
um único processador e o tempo gasto com N processadores, ou seja, Speedup é a Medida do
ganho em tempo.
Para registro foi utilizado : Tempo Sem Register/Tempo Com Register

You might also like