 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Dom 16 Abr, 2006 6:18 pm Asunto: Medidor de Precesos |
|
|
| Código: |
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Incluir la directiva #include <time.h> en la Unidad
clock_t Start, End; // Crear variables de Proceso
Start=clock(); // Inicio Proceso
//Aqui procesos a Medir
//**************************
for(int N = 0; N <= 10000; N++)
{
//...
Button1->Caption = N;
}
//**************************
//Finalizo Proceso
End = clock();
//Muestro el Tiempo de Proceso
ShowMessage(AnsiString(((End - Start)/CLK_TCK) * 1000) + " Milisegundos");
// Milisegundos -> AnsiString(((End - Start)/CLK_TCK) * 1000)
// Centésimas -> AnsiString(((End - Start)/CLK_TCK) * 100)
// Dédimas -> AnsiString(((End - Start)/CLK_TCK) * 10)
// Segundos -> AnsiString((End - Start)/CLK_TCK)
// Minutos -> AnsiString(((End - Start)/CLK_TCK) / 60)
// Horas -> AnsiString(((End - Start)/CLK_TCK) / 3600)
// Dias -> AnsiString(((End - Start)/CLK_TCK) / 86400)
} |
_________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
kalux Master


Registrado: 21 Nov 2003Mensajes: 313Ubicación: Alicante - España
|
Publicado: Dom 16 Abr, 2006 9:07 pm Asunto: |
|
|
Hola,
Una critica constructiva (no te lo tomes a mal), el utilizar el reloj/fecha da poca precision en las medidas.
Mira este enlace:
http://www.marteens.com/trick4c.htm
La traduccion a C++Builder seria:
| Código: |
LARGE_INTEGER start, end, freq;
SetThreadAffinityMask(GetCurrentThread(), 1);
QueryPerformanceFrequency(&freq);
// Iniciamos la cuenta del tiempo
QueryPerformanceCounter(&start);
// Aquí colocamos nuestro código a medir. Por ejemplo:
for (int i=0, total=0; i<300000; i++) total += i;
//...
// Paramos la cuenta del tiempo
QueryPerformanceCounter(&end);
double seg = (end.QuadPart-start.QuadPart)/static_cast<double>(freq.QuadPart);
//ShowMessage( String().sprintf("%f segundos", seg) );
|
Un saludo. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|