Blog do faraohh

Assuntos diversos, inclusive tecnologia.

Arquivo para janeiro 28th, 2010

Números primos

com 2 comentários

Introdução

Começamos com uma versão básica de um programa em C que computa a quantidade de números primos entre 2 e um dado N. Logo criamos uma tabela para analisar o desempenho desse algoritmos e implementamos algumas melhorias gradativas.

Implementação em C

Os algoritmos criados foram:

versão básica:  primo-v1.c

versão Prof. Hugoprimo-hugo-m1.cprimo-hugo-m2.cprimo-hugo-m3.cprimo-hugo-m4.cprimo-hugo-m5.c

versão Marcelloprimo-marcello-m1.cprimo-marcello-m2.c

O algoritmo primo-hugo-m5.c foi implementado com Threads fazendo uso de 1 ou mais núcleos de processamento, podendo reduzir o tempo para se computar a quantidade de primos.

A Tabela de comparações

As comparações foram feitas usando o comando time em uma estação GNU/Linux/Debian com processador Intel Core 2 Duo com 2 GB RAM.

Algoritmo 102 (25) 103 (168) 104 (1229) 105 (9592) 106 (78498) 107 (664579)
primo-v1.c 0m0.001s 0m0.002s 0m0.035s 0m3.223s 3m42.381s
primo-hugo-m1.c 0m0.001s 0m0.002s 0m0.035s 0m3.265s 3m41.540s
primo-hugo-m2.c 0m0.001s 0m0.001s 0m0.019s 0m1.737s 2m0.725s
primo-hugo-m3.c 0m0.001s 0m0.001s 0m0.010s 0m0.875s 1m0.960s
primo-hugo-m4.c 0m0.001s 0m0.001s 0m0.002s 0m0.020s 0m0.404s 0m8.949s
primo-marcello-m1.c 0m0.001s 0m0.001s 0m0.003s 0m0.035s 0m0.784s 0m17.592s
primo-marcello-m2.c 0m0.001s 0m0.001s 0m0.002s 0m0.021s 0m0.410s 0m8.989s

Licença de Uso

Os códigos está sob GPL e artigo está sob licença CC, conforme informações abaixo.

Artigo sob a Licença Creative Commons [ http://creativecommons.org/licenses/by/3.0/ ]

Escrito por Marcello Henrique

28/01/2010 em 17:48

Publicado em geral

Etiquetado com

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.