Foros DeCeMuLaDoReS

Retroceder   Foros DeCeMuLaDoReS > PC > Programación

Programación Escribe aquí todo lo relacionado sobre programación, ya sea C, C++, PHP, etc, etc...

Respuesta
 
LinkBack Herramientas
  #1 (permalink)  
Antiguo 03-Apr-2009, 01:35
Avatar de Mancifer
Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso
Administrador

Medalla de administrador 

 
Fecha de Ingreso: 15-January-2007
Ubicación: Maldonado, Uruguay
Mensajes: 1.217
Posts agradecidos: 3
Agradecido 214 veces en 147 posts
Enviar un mensaje por MSN a Mancifer
Predeterminado Timer en C++?

Bobeando un rato en Dev-C++ queria hacer un calculo simple, una suma de z mas el siguiente de z y repetir la operacion. Lo plantee asi (aunque soy un principiante total en C por lo que puede estar mal):

Código:
#include <iostream>

int main()
{
    int z;
    int a = 1;
    int x;
    x += z + a;
    std::cout << x << "\n";
    system("PAUSE");
    return 0;
}
Me devuevle un numero.
El objetivo del calculo es determinar cuantas sumas puede realizar el procesador en 1 segundo, el problema es el segundo, no tengo la mas mera idea de como indicar que realice la operacion durante un tiempo t (en este caso 1 segundo, 1000 milisegundos, 1000000 microsegundos) o al menos un timer que me diga cuantos microsegundos tardo en realizar la operacion y asi calcular cuanto haria en 1 segundo.
Busque algo en internet pero no estoy seguro de que encontre xD, por eso pregunto aqui para ver si alguien se le ocurre algo (y de paso me dice si esa operacion asi como esta es correcta o erronea para el objetivo xD).
__________________


Galeria:
| | GRACIAS: | | | Tutoriales: | | | | | | dA: | | Recopilación: | | Normas del Foro: | |
Responder Citando
  #2 (permalink)  
Antiguo 03-Apr-2009, 02:06
Avatar de Hagane1
Hagane1 está en el buen camino
I'm sexy & don't know it
 
Fecha de Ingreso: 25-November-2008
Ubicación: México
Mensajes: 4.084
Posts agradecidos: 314
Agradecido 1.130 veces en 633 posts
Predeterminado Re: Timer en C++?

no, creo que quedaría así

Código:
#include <iostream>

nt main()
{
    int z;
    cont = 0
    z = cont + 1
    printf "z" "\n";
    system("PAUSE");
    return 0;
}

no estoy seguro del printf pero quedaria algo mas o menos, asi ahora lo del tiempo checa esta web
espero haberte ayudado
__________________

Jugando: The King of Fighters XIII

Need for Speed Hot Pursuit, Marvel Super Hero Squad, Modern Warfare 2, Iron Man 2, The godfather II, Mafia II, Lego Indiana Jones II
Responder Citando
  #3 (permalink)  
Antiguo 03-Apr-2009, 02:11
Avatar de es3ado
es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso es3ado tiene motivos para estar orgulloso
Stress Mod[e] On

Medalla de moderador 

 
Fecha de Ingreso: 15-January-2007
Ubicación: My own heaven.
Mensajes: 1.944
Posts agradecidos: 3
Agradecido 818 veces en 382 posts
Enviar un mensaje por ICQ a es3ado Enviar un mensaje por MSN a es3ado
Predeterminado Re: Timer en C++?

Cita:
Iniciado por Mancifer
Bobeando un rato en Dev-C++ queria hacer un calculo simple, una suma de z mas el siguiente de z y repetir la operacion. Lo plantee asi (aunque soy un principiante total en C por lo que puede estar mal):

Código:
#include <iostream>

int main()
{
    int z;
    int a = 1;
    int x;
    x += z + a;
    std::cout << x << "\n";
    system("PAUSE");
    return 0;
}
Me devuevle un numero.
El objetivo del calculo es determinar cuantas sumas puede realizar el procesador en 1 segundo, el problema es el segundo, no tengo la mas mera idea de como indicar que realice la operacion durante un tiempo t (en este caso 1 segundo, 1000 milisegundos, 1000000 microsegundos) o al menos un timer que me diga cuantos microsegundos tardo en realizar la operacion y asi calcular cuanto haria en 1 segundo.
Busque algo en internet pero no estoy seguro de que encontre xD, por eso pregunto aqui para ver si alguien se le ocurre algo (y de paso me dice si esa operacion asi como esta es correcta o erronea para el objetivo xD).
Si mal no recuerdo, en el Borland's C++ Builder, podías configurar la "frecuencia" (en ciclos) con la que un "timer" realiza una acción y allí te indicaban que tenías que poner esa frecuencia sabiendo que 1000 ciclos = 1 segundo.
[revisa las propiedades del objeto timer cuando agregues uno al proyecto]
Eso si, en las clases que tomé, luego te advertían que eso era un calculo aproxiado y que el resultado iba a variar mucho dependiendo del procesador del sistema en el que terminara corriendo el programa que compiles...

Lamento no ser de más ayuda pero eso es toda la info que te puedo dar al respecto.

Cita:
Iniciado por Hagane :)
no, creo que quedaría así

Código:
#include <iostream>

nt main()
{
    int z;
    cont = 0
    z = cont + 1
    printf "z" "\n";
    system("PAUSE");
    return 0;
}
no estoy seguro del printf pero quedaria algo mas o menos, asi ahora lo del tiempo checa esta web
espero haberte ayudado
Yep, aasí se ve mejor pero no respondes la pregunta...
¿cómo indicar que realice la operacion durante un tiempo t (en este caso 1 segundo, 1000 milisegundos, 1000000 microsegundos) o al menos un timer que me diga cuantos microsegundos tardo en realizar la operacion y asi calcular cuanto haria en 1 segundo?
__________________

I'm in my heaven. All's right with the world.

Última edición por es3ado; 03-Apr-2009 a las 02:14
Responder Citando
  #4 (permalink)  
Antiguo 03-Apr-2009, 02:20
Avatar de Hagane1
Hagane1 está en el buen camino
I'm sexy & don't know it
 
Fecha de Ingreso: 25-November-2008
Ubicación: México
Mensajes: 4.084
Posts agradecidos: 314
Agradecido 1.130 veces en 633 posts
Predeterminado Re: Timer en C++?

es que nunca lo vi en la escuela xD, solo me comenatron que se hacia con una libreria peor nada mas, por eso le puse un link que parace ser esa libreria.
__________________

Jugando: The King of Fighters XIII

Need for Speed Hot Pursuit, Marvel Super Hero Squad, Modern Warfare 2, Iron Man 2, The godfather II, Mafia II, Lego Indiana Jones II
Responder Citando
  #5 (permalink)  
Antiguo 03-Apr-2009, 05:06
Avatar de Mancifer
Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso Mancifer tiene motivos para estar orgulloso
Administrador

Medalla de administrador 

 
Fecha de Ingreso: 15-January-2007
Ubicación: Maldonado, Uruguay
Mensajes: 1.217
Posts agradecidos: 3
Agradecido 214 veces en 147 posts
Enviar un mensaje por MSN a Mancifer
Predeterminado Re: Timer en C++?

Cita:
Iniciado por Hagane :)
no, creo que quedaría así

Código:
#include <iostream>

nt main()
{
    int z;
    cont = 0
    z = cont + 1
    printf "z" "\n";
    system("PAUSE");
    return 0;
}

no estoy seguro del printf pero quedaria algo mas o menos, asi ahora lo del tiempo checa esta web
espero haberte ayudado
Si hago eso z = 1 xD.
La web esa la habia visto pero no lo habia entendido : S.
Bueno al final lo pude solucionar (al menos lo de contar el tiempo) usando GetTickCount de windows.h me queda asi:

Código:
#include <iostream>
#include <windows.h>

using namespace std;

int main()
{         
    int time1 = GetTickCount(); 
    int a = 0;
    int x;
    x += a + 1;
    cout << x << "\n" << endl;
    int time2 = GetTickCount();
    int iTime = time2-time1;
    printf("Ha tardado %ld milisegundos...", iTime);
    system("PAUSE");
    return 0;
}
Nada mas restaria saber si esa cuenta esta bien : S.
El resultado que obtuve fue 2.293.673 en 16 milisegundos. En 1 segundo serian 143.354.562,5, supongo.
__________________


Galeria:
| | GRACIAS: | | | Tutoriales: | | | | | | dA: | | Recopilación: | | Normas del Foro: | |

Última edición por Mancifer; 03-Apr-2009 a las 05:10
Responder Citando
  #6 (permalink)  
Antiguo 03-Apr-2009, 05:29
Avatar de Tailmon
Tailmon llegará a ser famoso muy pronto
DC's digimon
 
Fecha de Ingreso: 20-July-2008
Ubicación: digital world
Mensajes: 274
Posts agradecidos: 47
Agradecido 53 veces en 41 posts
Predeterminado Re: Timer en C++?

espera, que se me ocurrio una solucion
Código:
#include <iostream.h>
#include <time.h>
int main()
{
    unsigned int t = time(NULL);
    unsigned int tiempof = t+1; // un segundo
    long int contador = 0;

    while ( t <= tiempof )
    {
         ++contador; 
         t = time( NULL ); 
    }                     
    cout << "En un segundo hice: " << contador << endl;
    cin.get();
    return 0;
}
ya lo probe y aproximadamente me devolvia una buena cantidad, aqui solo uso librerias del ANSI C++ o sea q corre en cualquier cosa
__________________
テイルモン
Spoiler para Para paginas:

Última edición por Tailmon; 04-Apr-2009 a las 05:41
Responder Citando
Respuesta


(0 miembros y 1 visitantes)
 
Herramientas

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado

Ir al Foro


Torneo DC 2012
Torneo DC 2012

La franja horaria es GMT +1. Ahora son las 21:45.


Desarrollado por: vBulletin® Versión 3.8.2
Derechos de Autor ©2000 - 2012, Jelsoft Enterprises Ltd.
Traducido por mcloud de vBhispano.com
 

Content Relevant URLs by vBSEO 3.2.0