Newsgroup: it.comp.hardware.overclock
Titolo: Il mio bench

Parlando con Fabiuss é venuta fuori la storia dei bench..
Io ho fatto un bench piccolo ma significativo...
Occupa una ventina di Kb, e fa la seguente cosa..
crea un vettore da 10 milioni di random double (circa 80Mb in ram), e poi lo
ordina dal piů piccolo al piů grande..
Potete scaricare il file dal NG free.it.binari
Lo copiate in una cartella e lo mandate in esecuzione..
nel giro di 20-30 secondi il programma termina e produce un file
"Risultato.txt"
Questo contiene il tempo di elaborazione..
Sarebbe interessante vedere come vanno i vari processori in problemi di
calcolo puro,
con grosso sfruttamento della memoria
Comincio io..
Ho impiegato 26.6 secondi con un Cel900@1313

Ah dimenticavo..
Sotto WinXP le prestazioni sono inferiori..
.. quindi indicate anche l' OS usato, se volete dare un risultato utile a
livello statistico

Ho cercato il newsgroup *free.it.binari* ma non l'ho trovato. Sei sicuro che
sia corretto?
Ad ogni modo, vorrei chiederti:
l'algoritmo per la generazione dei numeri casuali, genera una sequenza
pseudo-random SEMPRE differente ad ogni esecuzione, oppure la sequenza
pseudo-random è sempre la stessa ma può essere variata cambiando il seme?
Ti pongo questa domanda perché, secondo me, per poter effettuare i risultati
tra macchine differenti è necessario mettersi nelle stesse condizioni
operative. E quindi il test dovrebbe sfornare sempre la stessa sequenza.
Ciao

Il NG esiste ed ho verificato il download..
Comunque la sequenza é sempre diversa ad ogni avvio, ma il tempo non cambia
assolutamente, perché su grandi numeri (e 10 milioni di elementi sono
tanti).. le differenze tra un insieme random e l'altro non contano..
Il seme é cambiato ad ogni generazione di numero random...
quindi ci sono 10 milioni di randomize() ed altrettanti Rnd()
Il tempo di esecuzione é tuttavia calcolato sul solo ordinamento del vettore
e non sulla sua generazione..
"Carlino" <sp...@your.mam> ha scritto nel messaggio
news:iGU98.1611$Jo.3...@twister2.libero.it...


 ordina dal più piccolo al più grande..
Potresti sendarlo in mail?
Sennò se hai uno spazio web uppalo e passa l'url dai...
i ng binari mi stanno qua ^^;

nemmeno io riesco a trovarlo, nè con outlook nè con altri tre news reader:
trova free.it.binari ma mi dice che non ci sono nuovi messaggi.
potresti inviarmi il file per posta....
grazie
davide

 ha scritto nel messaggio
news:htU98.48919$om6.1...@news1.tin.it...

Ciao! Mi sono trastullato fin'ora col tuo bench ^__^ ho fatto 28 sec circa
sotto win xp! Cmqho provato a farne uno simile anke io solo ke ho un po' di
problemi...ti spiego meglio in mail + tardi...ora devo tel alla tipa ^__^

Facciamo così...
A te ed a Negus lo invio per posta..
Eventualmente pensateci voi a metterlo su un sito..
inoltre, poiché non é sicuro che giri su macchine con installazioni
differenti dell' OS
di seguito riporto il sorgente..
Se avete un compilatore VB potete compilarvelo da soli..
-------------------------------------------------------------
Sub Main()
Dim Vettore(10000000) As Double
Dim Inizio, Fine, FilePath, Risultato
Inizio = Time
For c = 1 To 10000000
    Randomize
    Vettore(c) = 1000 * Rnd()
Next c
SortVettore Vettore, 1, 10000000
Fine = Time
Risultato = ((Fine - Inizio) * 100000)
FilePath = CurDir
FilePath = FilePath & "\Risultato.txt"
Open FilePath For Output As #1
Print #1, "Il test é durato: " & Risultato & " secondi"
Close #1
End Sub
------------------------------------------------------------------
Sub SortVettore(Vettore_Dati() As Double, ByVal Min As Long, ByVal Max As
Long)
Dim lo As Long, hi As Long
Dim med_value As Double
Do While Max > Min
lo = Min
hi = Max
med_value = Vettore_Dati(Min)
    Do While lo < hi
        Do While Vettore_Dati(hi) > med_value
            hi = hi - 1
        Loop
        Vettore_Dati(lo) = Vettore_Dati(hi)
        For lo = lo To hi - 1
            If Vettore_Dati(lo) > med_value Then Exit For
        Next lo
        Vettore_Dati(hi) = Vettore_Dati(lo)
    Loop
    Vettore_Dati(lo) = med_value
    If (lo - Min < Max - lo) Then
        SortVettore Vettore_Dati(), Min, lo - 1
        Min = lo + 1
    Else
        SortVettore Vettore_Dati(), lo + 1, Max
        Max = lo - 1
    End If
Loop
End Sub

negus ha scritto:

anche qui
gufo_rosso@spam@
libero.it
@sapam da eliminare

Non č che RS1 ha ottimizzato questo programma per i processori intel :-)?
L'ho preso da free.it.binari e con il duron 700@980 su abit kt7a ho fatto
247 sec! L'ho ripetuto un paio di volte ma il risultato era sempre quello
+o-! Sono andato a provarlo con un morgan su ecs k7s5a e ho fatto 232 sec!
Tutti e due erano sotto win 98se, non doveva essere winxp piů lento??!!!
--
Non č morto ciň che in eterno puň attendere,
E col volgere di strani eoni, anche la morte puň morire
H.P.Lovecraft

Guarda.. il fatto che sia stato compilato su un Intel con WinXP può
influire, ma non certo in modo drastico...
Io comunque ho dato anche il sorgente, pertanto se hai un compilatore lo
puoi compilare sulla tua macchina ed ottimizzarlo..
Per curiosità, l'ho compilato anche su un portatile con un P233mmx e 64Mb di
ram..
L'ho dovuto ridurre ad 1 milione di elementi per evitare di swappare su HD,
quindi sarebbe dovuto andare 10 volte più veloce..
Invece ha impiegato 150 secondi!
Questo significa che se avesse avuto memoria sufficiente per il test
completo, avrebbe impiegato più di 1500 secondi ( il tempo sale come
n*log(n) )
Impressionante !!!
Un mio amico sull'AMD XP1700+ impiega 21 secondi, ovvero 5 meno di me...
Poiché io uso il computer per programamzione e non per farci i giochini..
questo test mi permette realmente di valutare le prestazioni di un sistema
sulle mie applicazioni..

Me lo maderesti in mail? Togli il NOSPAMTO per inviarmelo, grazie mille.
Ciao!

 sulle mie applicazioni..
L'affidabilità di punteggio del bench è elevata, dei 247sec ad ogni
tentativo variavano solo i decimali :-)!!!
--
Non è morto ciò che in eterno può attendere,
E col volgere di strani eoni, anche la morte può morire
H.P.Lovecraft

 ha scritto nel messaggio
news:a499c6$vn6$1...@pegasus.tiscalinet.it...


potresti inviarmelo ? thx
ucci...@hotmail.com

 ha scritto nel messaggio
news:5D9a8.63108$3J1.1...@news2.tin.it...

Nei primi secondi il programma carica il vettore di elementi casuali, ed è
quello che fa aumentare di temperatura il processore. Ho fatto anche io qlc
bench simile e se vadop in task manager vedo ke il processore è utilizzato
al 100%! A furia di fare test la temperatura è arrivata a 45 gradi!!!! (di
solito sto sui 35-40


Mmmmm.... c'è qualcosa che non funziona.... Pentium III 450, chipset BX, RAM
PC100 ottengo 576...
M sembra assurdo

e non sulla sua generazione..
ok, ma fai il bravo, e non cambiarlo quel seme... tanto che ti costa ?

sulle mie applicazioni..
in visual basic ?

Se avete un compilatore VB potete compilarvelo da soli..
AAARGH!! :)) VB! Io l'avrei fatto in C...
Comunque e' sempre carino leggere algoritmi di ordinamento..
Torno indietro di qualche anno quando diedi "Algoritmi e strutture dati"
un esame bello pesantuccio.. radix, buquet, merge sort, poi rb-alberi,
macchine di touring, problemi p/np... gran bella roba, gran belle
seghe mentali che pero' servono parecchio... imho...
Simone
PS:E le riduzioni in np?  galattiche :))