Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Contare i cicli di clock

Discussioni e opinioni costruttive sul mondo dell'informatica.
Per la soluzione di problemi specifici fare riferimento alle sezioni di assistenza!

Moderatori: aurelio37, axelrox

Contare i cicli di clock

Postdi BianConiglio » 04/06/03 14:02

Ho appena finito ed ottimizzato il secondo dei 2 programmi assembly + realtivi pseudocodici in C per l'esame di domani.
Sono sicuro che uno sia piu veloce pertanto poporrò quello....però, quando la situazione si fa piu complicata..il dubbio puo sorgere spontaneo.....pertanto...

esiste qualche metodo che nn sia calcolarlo a mano ( esame di algoritmi ) o programma che mi determini i cicli di clock per svolgere un programmino piuttosot che un altro ?
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano

Sponsor
 

Postdi BianConiglio » 04/06/03 16:07

mi sono espresso male...mi manca l'edit...

intendevo se esiste qualche metodo o programma per falro...escluso il farlo a mano
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano

Postdi (C)DMP » 04/06/03 16:11

Non che io sappia.. ma il calcolo della complessità non è mai una cosa impossibile, e soprattutto è importante saperlo fare ;)
(C)DMP
(C)DMP
Newbie
 
Post: 2
Iscritto il: 15/07/02 23:09

Postdi BianConiglio » 04/06/03 16:19

ecco lo sapevo....devo passare l'esame di algo... :D e fare a manina
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano

In bocca al lupo!!!

Postdi infinito1971 » 04/06/03 16:21

Ciao BC,
in bocca al lupo!!!
Mi auguro di risentirti presto, come ai vecchi tempi... ;)

Bye,
infinito1971
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Postdi infinito1971 » 04/06/03 16:26

P.S. Oltre che a manina santa, non puoi contarli mettendo un contatore all'interno dei cicli e fartelo stampare alla fine del processo?!?!? :roll:
Questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!
Avatar utente
infinito1971
Utente Senior
 
Post: 531
Iscritto il: 01/08/02 21:22
Località: Napoli

Postdi zello » 04/06/03 19:20

Guardati un po' rdtsc (assembly):
RDTSC Read Time Stamp Counter
Mnemonic: RDTSC
Opcode : 0F 31
Bug in : Poorly documented for Pentium Processor

Function:
RDTSC reads a Pentium internal 64 bit register which is being incremented
from 0000 0000 0000 0000 at every CPU internal clockcycle. Note that this
gives a clockcycle-accurate timer with a range of more than 8800 years at
66 Mhz...

The instruction places the counter in the EDX:EAX register pair.

Io farei una cosa del tipo (ad occhio, per nasm, non testato):
Codice: Seleziona tutto
.data
minor dd 0
major dd 0

.code
_start_bench:
    rdtsc
    mov dword[minor],eax
    mov dword[major],edx
    ret

_end_bench:
    rdtsc
    sub dword[minor],eax
    sbc dword[major],edx
    ;return a pointer to a long-long
    mov eax,minor
    ret

In Windows, leggiti l'sdk su QueryPerformanceCounter/QueryPerformanceFrequency - ho del codice a mano, se ne hai bisogno te lo mando.

HTH,HAND
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
Avatar utente
zello
Moderatore
 
Post: 2351
Iscritto il: 06/05/02 13:44


Torna a Discussioni


Topic correlati a "Contare i cicli di clock":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti