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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


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


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Medir el tiempo de una rutina en lenguaje C.
« en: 3 Septiembre 2014, 16:17 pm »

Hola Amigos.
El enunciado del manual es el siguiente.-



Código
  1. //http://dacap.com.ar/blog/cpp/medir-el-tiempo-de-una-rutina/
  2. #include <stdio.h>
  3. #include <windows.h>
  4.  
  5. /* retorna "a - b" en segundos */
  6. double performancecounter_diff(LARGE_INTEGER *a, LARGE_INTEGER *b){
  7. LARGE_INTEGER freq;
  8. QueryPerformanceFrequency(&freq);
  9. return (double)(a->QuadPart - b->QuadPart) / (double)freq.QuadPart;
  10. }
  11.  
  12. int main(int argc, char *argv[]){
  13. int contador=0;
  14. LARGE_INTEGER t_ini, t_fin;
  15. double secs;
  16.  
  17. QueryPerformanceCounter(&t_ini);
  18. while(contador <= 300000000){
  19. contador++;
  20. if(contador % 100000000 == 0){
  21. QueryPerformanceCounter(&t_fin);
  22. secs = performancecounter_diff(&t_fin, &t_ini);
  23. printf("%.16g milliseconds\n", secs * 1000.0);
  24. QueryPerformanceCounter(&t_ini);
  25. }
  26. }
  27.  
  28. return 0;
  29. }


El programa que logré a partir de los ejemplos de la página me funciona correctamente (por lo menos es lo que a mí me parece) lo que pasa es que no entiendo casi ninguna línea (creo que tiene que ver con las API’s de windows), la pregunta es ¿alguien me puede decir si se puede lograr lo mismo con con un programa en C puro?, de ser así ¿podrian poner algún ejemplo?.-

Saludos.
Daniel


En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Medir el tiempo de una rutina en lenguaje C.
« Respuesta #1 en: 3 Septiembre 2014, 18:57 pm »

¿alguien me puede decir si se puede lograr lo mismo con con un programa en C puro?
No ya que al utilizar solo las facilidades de la biblioteca estándar de C (difftime, struct tm, clock) se garantiza una resolución en segundos, nada mas.

Para el calculo exacto lo mejor es utilizar extensiones (como es el caso con tu ejemplo usando la Win32 API).

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Re: Medir el tiempo de una rutina en lenguaje C.
« Respuesta #2 en: 3 Septiembre 2014, 19:35 pm »

Hola rir.
Bueno parece que el tema no da para más, cuando aprenda a construir librerías haré una para esto y me quedará como una instrucción mas.-   

Saludos.
Daniel
En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como medir mis conocimientos sobre algun lenguaje ?¿
Programación General
linux1 4 6,665 Último mensaje 4 Julio 2010, 00:11 am
por @synthesize
Convertir esta rutina de tiempo a c++
Programación C/C++
luis456 2 2,238 Último mensaje 15 Abril 2013, 14:06 pm
por luis456
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,326 Último mensaje 16 Abril 2016, 21:46 pm
por HardForo
medir el tiempo de ejecución en C
Programación C/C++
fafafa01 2 29,527 Último mensaje 14 Diciembre 2016, 02:44 am
por kraiked
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines