elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  medir el tiempo de ejecución en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: medir el tiempo de ejecución en C  (Leído 29,529 veces)
fafafa01

Desconectado Desconectado

Mensajes: 82


Ver Perfil
medir el tiempo de ejecución en C
« en: 13 Diciembre 2016, 18:43 pm »

Buenas, tengo una duda sobre cual seria la manera mas conveniente y precisa para medir el tiempo de ejecución de un programa. saludos.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: medir el tiempo de ejecución en C
« Respuesta #1 en: 13 Diciembre 2016, 23:01 pm »

Para medirlo dentro del programa, cualquier zona de código, basta cojer en un punto el "tiempo", y tras hacer las operaciones que quieras, volverlo a medir y restar:
Código
  1. #include <iostream>
  2. #include <ctime>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.    clock_t cl = clock();
  8.  
  9.    // Operaciones
  10.  
  11.    cout << (clock()-cl)*1000/CLOCKS_PER_SEC << "ms" << endl;
  12. }

clock() te devuelve un "tiempo" relativo al comienzo del programa (más o menos). Si lo vuelves a llamar y los restas, obtendrás la diferencia.

No sé si trabajar con C o con C++. En C++11 o superior también existe std::chrono::high_resolution_clock. Entre otros.


En línea

kraiked

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: medir el tiempo de ejecución en C
« Respuesta #2 en: 14 Diciembre 2016, 02:44 am »

Yo lo hago así

Código:

#include <stdio.h>
#include <time.h>

int main(){

clcok_t tiempo_inicio, tiempo_final;
double segundos;

tiempo_inicio = clock();

/*operación a medir tiempos, operación básica del código, normalmente bucles*/

tiempo_final = clock();

segundos = (double)(tiempo_inicio - timpo_final) / CLOCKS_PER_SEC; /*según que estes midiendo el tiempo en segundos es demasiado grande*/

printf("%f",segundos);


return 0;
}


Así lo hago yo en c, en c++ nunca lo he usado, más que nada porque todavía no he empezado a aprender c++.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
tiempo de ejecucion « 1 2 »
Programación C/C++
mapers 11 13,562 Último mensaje 26 Junio 2010, 15:37 pm
por cbug
Medir el ancho de banda de una conexión en tiempo real
Java
loandoer 4 3,908 Último mensaje 5 Agosto 2014, 13:01 pm
por blackyer94
Medir el tiempo de una rutina en lenguaje C.
Programación C/C++
NOB2014 2 3,462 Último mensaje 3 Septiembre 2014, 19:35 pm
por NOB2014
Medir la 'inteligencia' con el tiempo
Foro Libre
JonaLamper 4 2,390 Último mensaje 26 Octubre 2014, 16:42 pm
por JonaLamper
Medir velocidad de ejecución de un programa en lenguaje C.- « 1 2 3 4 »
Programación C/C++
NOB2014 31 14,329 Último mensaje 16 Abril 2016, 21:46 pm
por HardForo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines