Procurar
Últimos assuntos
Quem está conectado?
Há 1 usuário online :: 0 registrados, 0 invisíveis e 1 visitante Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Solução portável para medir tempo em C/C++
Página 1 de 1
Solução portável para medir tempo em C/C++
Compartilho uma biblioteca que reúne varias funções diferentes, de sistemas diferentes, e tenta identificar a melhor opção disponível.
Para usar a biblioteca é preciso que o arquivo temporizador.h seja copiado para o diretório onde o seu programa será compilado e incluído com #include "temporizador.h".
São disponibilizadas duas funções de medição obterTempoReal() e obterTempoCPU(), a primeira deve ser usada para se obter o tempo real e a segunda para tempo de processador usado.
link para download: https://drive.google.com/file/d/0B4m9FQ8snMU3djBtTmV4TGg5SlU/edit?usp=sharing
Exemplo de uso:
- Para compilar no Windows use o Dev-cpp ou outra IDE para compilar seu arquivo nome_do_seu_programa.c.
- Para compilar em sistemas unix like (como o GNU/Linux) é necessário linkar a biblioteca librt:
- Não se deve usar a opção '-lrt' no OSX.
A biblioteca deve funcionar a partir do windows xp, no OSX, e em sistemas unix like (GNU/Linux, BSD, Solaris).
Porém foi testada apenas no windows XP e 7, Debian 7 (testing), Ubuntu 12.10 e 13.04.
Essa solução tem propositos didáticos, seu desempenho profissional é questionável (necessita mais testes e aperfeiçoamento).
Por favor reportem bugs encontrados. Informem o desempenho nos sistemas não testados. Sugestões são bem-vindas.
Para usar a biblioteca é preciso que o arquivo temporizador.h seja copiado para o diretório onde o seu programa será compilado e incluído com #include "temporizador.h".
São disponibilizadas duas funções de medição obterTempoReal() e obterTempoCPU(), a primeira deve ser usada para se obter o tempo real e a segunda para tempo de processador usado.
link para download: https://drive.google.com/file/d/0B4m9FQ8snMU3djBtTmV4TGg5SlU/edit?usp=sharing
Exemplo de uso:
- Código:
#include <stdio.h>
#include "temporizador.h"
int main(int argc, char **argv)
{
int i;
/* variáveis para armazenar o tempo inicial, final e total*/
double tempo_inicial = 0.0, tempo_final = 0.0, tempo_total = 0.0;
/* medindo o tempo real gasto (wall-clock) */
tempo_inicial = obterTempoReal();
for (i = 0; i < 1000000000; i++); /* trecho do programa a ser testado */
tempo_final = obterTempoReal();
/* Tempo gasto = tempo final - tempo inicial */
tempo_total = tempo_final- tempo_inicial;
printf("Tempo Real: %f\n\n", tempo_total);
/* medindo o tempo de CPU gasto */
tempo_inicial = obterTempoCPU();
for (i = 0; i < 1000000000; i++); /* trecho do programa a ser testado */
tempo_final = obterTempoCPU();
/* Tempo gasto = tempo final - tempo inicial */
tempo_total = tempo_final- tempo_inicial;
printf("Tempo CPU: %f\n\n", tempo_total);
getchar();
getchar();
return 0;
}
- Para compilar no Windows use o Dev-cpp ou outra IDE para compilar seu arquivo nome_do_seu_programa.c.
- Para compilar em sistemas unix like (como o GNU/Linux) é necessário linkar a biblioteca librt:
- Código:
$ gcc -o nome_do_seu_programa nome_do_seu_programa.c -lrt
- Não se deve usar a opção '-lrt' no OSX.
A biblioteca deve funcionar a partir do windows xp, no OSX, e em sistemas unix like (GNU/Linux, BSD, Solaris).
Porém foi testada apenas no windows XP e 7, Debian 7 (testing), Ubuntu 12.10 e 13.04.
Essa solução tem propositos didáticos, seu desempenho profissional é questionável (necessita mais testes e aperfeiçoamento).
Por favor reportem bugs encontrados. Informem o desempenho nos sistemas não testados. Sugestões são bem-vindas.
Diego Henrix- Mensagens : 7
Data de inscrição : 04/04/2012
Tópicos semelhantes
» Programa para calcular o tempo para encontrar o último elemento de uma lista simplesmente
» Paradoxo do tempo
» para transformar um string para date
» Contar o tempo de execução
» IDE Para desenvolvimento
» Paradoxo do tempo
» para transformar um string para date
» Contar o tempo de execução
» IDE Para desenvolvimento
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ontem à(s) 9:27 pm por juk
» LINKS PARA BAIXAR O OFFICE
Ter Abr 23, 2024 5:57 pm por juk
» Backup FULL FIREFOX
Dom Abr 07, 2024 3:16 pm por juk
» Backup FULL CHROME
Dom Abr 07, 2024 2:59 pm por juk
» Dowloand de Videos youtube Sem Permissão adminstrador
Seg Jan 02, 2023 2:13 pm por juk
» Cypecad 2019
Seg Jan 02, 2023 1:41 pm por juk
» Atualizando é instalando o IExplorer 11 no windows 7
Ter Ago 30, 2022 10:54 pm por juk
» COMO HABILITAR INTERNET EXPLORER NO WINDOWS 10
Sex Abr 29, 2022 6:43 pm por juk
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Qua Abr 06, 2022 10:19 am por juk