Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563

    C++ - Monitorare prestazioni

    Mi stavo chiedendo, se volessi effettuare delle prove, ad esempio, se ho

    codice:
    pClass->Effect()->Create();
    pClass->Effect()->Set();
    pClass->Effect()->Apply();
    pClass->Effect()->Destroy();
    e

    codice:
    Effect *pEffect = pClass->Effect();
    
    pEffect->Create();
    pEffect->Set();
    pEffect->Apply();
    pEffect->Destroy();
    Mettiamo il caso voglio scoprire chi tra i due consuma piu' memoria e chi invece è piu' veloce...come dovrei fare? (non questo caso specifico, anche in altre applicazioni).
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Inserisci all'inizio del blocco da monitorare una cosa tipo
    codice:
    	LARGE_INTEGER beginCount,endCount,frequency;
    	QueryPerformanceFrequency(&frequency);
    	QueryPerformanceCounter(&beginCount);
    e alla fine
    codice:
    	QueryPerformanceCounter(&endCount);
    	double secs=(endCount.QuadPart-beginCount.QuadPart)/(double)frequency.QuadPart;
    Ora in secs ci sono i secondi trascorsi, che puoi visualizzare come meglio credi (ad esempio con una MessageBox:
    codice:
    	TCHAR buffer[512];
    	_sntprintf(buffer,ARRSIZE(buffer),_T("%f"),secs);
    	MessageBox(0,buffer,_T("Debug message"),MB_ICONINFORMATION);
    	/*
    	nota: ARRSIZE è definito come
    	#define ARRSIZE(arr)	(sizeof(arr)/sizeof(*arr))
    	*/
    ).
    Per l'utilizzo della memoria puoi fare lo stesso mestiere con la GetProcessMemoryInfo; tieni conto che la GetProcessMemoryInfo funziona solo sulle versioni NT di Windows (quindi NT, 2000, XP e Vista).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Grazie mille, proverò questo metodo.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  4. #4
    Non c'è di che; ciao!
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.