|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
[C/C++]Monitorare la complessita del codice
Salve,
vorrei sapere se conoscete tecniche/strumenti che si possono adottare per avere delle informazioni sulla complessita del codice eseguito a runtime; ad esempio sapere quante operazioni aritmetiche sono state eseguite, quanti accessi alla memoria; in particolare dovrebbe essere possibile durante l'esecuzione del programma: - azzerare dei contatori che misurano la complessita; - chiamare una funzione di cui voglio 'misurare' la complessità; - leggere i contatori per avere una stima del numero di operazioni elementari eseguite durante l'esecuzione della funzione. Sapete dell'esistenza di programmi per 'instrumentare il codice', cioè che prendono in pasto il codice sorgente, lo modificano inserendo degli appositi contatori (ad esempio incrementano una variabile ogni volta che è eseguita un'addizione...), in modo tale che sia possibile effettuare queste misure? Grazie e ciao.
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2002
Messaggi: 305
|
Nella suite di Rational versione enterprise esiste un programma chiamato Quantify che ti permette di fare queste cose.
Il problema è che costa un casino di soldi! Soluzioni alternative sono vedere se trovi qualcosa su sourceforge.net oppure a livello universitario. Magari do un occhiata e ti facico sapere |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Mi serve qualkosa di free e da usare soto linux; fammi sapere se trovi qualcosa, grazie.
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
Valgrind mi pare che sia una macchina virtulae che lavora direttamente col codice eseguibile, eseguendolo appunto, e poi scrivendo i risultati.
Io vorrei qualkosa di diverso nel senso che io devo essere a conoscenza della complessita misurata all'interno del mio programma stesso, non solo alla sua terminazine. Non devo misurare le prestazioni di tutto ilprogramma, ma solo di alcune funzioni che chiamo; qundi all'interno del mio programma devo attivare le misure, chiamare la funzione da misurare, leggere i valori delle misure effetuate e farci quello che volgio (tipo stampare tali valori, o scriverli in un file). L'acquisizione delle misure deve cioè avvenire durante il programma stesso, ad esempio leggendo delle variabili globali. Non consocete nulla che possa farmi fare ciò?
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2002
Città: Roma
Messaggi: 1502
|
up
__________________
Sun Certified Java Programmer EUCIP Core Level Certified European Certification of Informatics Professionals |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:28.