PDA

View Full Version : SpaccaCPU 1.0


Nativoz
03-01-2006, 19:14
Il nome che ho dato all'applicazione non è dei più rassicuranti, ma mi è servito per fare alcuni test su un processore che ho overcloccato. Il risultato è molto influenzato dall'aumento di frequenza del processore per cui, se qualcuno lo vuole provare lo rendo disponibile qui.

Con un Xp 2500+ mobile ho finito il test in 25,2885132 sec
Portando lo stesso processore a 796 Mhz ho finito il test in 134,4563233 sec

So che ormai ci sono milioni di benchmark, ma oggi avevo un sacco di tempo e me lo sono voluto fare :D
ciao

http://web.tiscali.it/AlCuoreRamon/files/SpCPU.EXE

Andrea87
03-01-2006, 21:10
molto carino, ma che calcoli deve compiere il processore? E' una specie di Super PI?

Capellone
03-01-2006, 21:57
interessante , specialmente per poter essere laciato da dos senza windows che intralcia. però la grafica rossa su sfondo verde è veramente fastidiosa da leggere;

midian
04-01-2006, 11:53
bello ;)
p.s. ma sei sardo?

Nativoz
04-01-2006, 13:07
Sardo??? Sono di Modena. Anche se praticamente sono diventato Romano per via del lavoro.
Il programma esegue calcoli matematici in virgola mobile, calcoli sugli interi ed elaborazioni di stringhe. Tutti i dati sono in una matrice che non supera i 50 K per cui la velocità di lettura/scrittura elaborazione dovrebbe interessare esclusivamente il processore e la sua cache interna.

per quel che riguarda i colori... non ci ho fatto molto caso perchè è un programma che mi è servito una volta sola. Se vuoi che lo modifico o che creo database legati al programma lo posso fare.

Nativoz
04-01-2006, 18:55
Versione 1.1

Ho aumentato la complessità dei calcoli in modo da ottenere divari maggiori tra le prestazioni delle cpu testate.
Ho inserito una modalità Burn-In
Ho inoltre inserito dei controlli che dovrebbero(non ho ancora testato se funzionano) dare messaggi di errore in caso di incongruità dei risultati per overclock troppo spinti.
L'idea è quella di potere fare i vari test di overclock senza necessariamente dovere caricare windows, evitando così che il sistema operativo si rovini per overclock troppo azzardati.
http://web.tiscali.it/AlCuoreRamon/files/SPCPU11.EXE

OT: Questo forum è davvero cresciuto da quando mi sono iscritto. Mi sa che mi sono perso qualcosa :) . Complimenti alla community!

Capellone
04-01-2006, 20:51
Favoloso, finalmente un programmino indipendente da windows e concentrato unicamente sulla cpu, il giusto complemento del set di benchmark e burn-in che siamo abituati ad usare.
I colori della grafia sono più gradevoli adesso :)
E' capace di sfruttare il dual core, hyper theading o multiprocessore?

e.cera
05-01-2006, 08:37
Cominciamo a postare qualche screen... :O

http://img213.imageshack.us/img213/6145/spacca9ce.jpg (http://imageshack.us)

:D Che bestia ehhhh!!!

Megasoft
05-01-2006, 09:00
Sinceramente non mi funziona.
Mi da un errore nel sottosistema 16 bit (secondo me è un problema di compatibilità con Windows XP SP2, con cosa l'hai programmato? Sembra un applicativo DOS 16 bit)

QBalle
05-01-2006, 10:00
sono al lavoro , dell gx 2600 con win 2000 e 400 cose aperte 133 secondi :D
poi provo a casa ! :p

Nativoz
05-01-2006, 13:12
Lo screen postato è quello della versione 1.0. Usate la 1.1 perchè i risultati sono diversi. La 1.1 impiega molto più tempo per effettuare il test.
Starò fuori per un po'. Se avete eventuali richieste postatele qui e modifico il programma appena rientro.
Scappo!
bye

OverdeatH86
05-01-2006, 13:17
oh ma sto cavolo d test nn spacca x niente la cpu.....secondo il test il mio prescott 4100 è piu moscio d un misero barton 2500+ e anke d parekkio.... :oink: ah ps qel cavolo d exe nn reisco piu aseccarlo via....

e.cera
05-01-2006, 13:34
:eek: già la nuova versione.....

Vabbé riposto :D

http://img369.imageshack.us/img369/3568/untitled18iu.jpg (http://imageshack.us)

:read:

Nativoz
05-01-2006, 13:49
oh ma sto cavolo d test nn spacca x niente la cpu.....secondo il test il mio prescott 4100 è piu moscio d un misero barton 2500+ e anke d parekkio.... :oink: ah ps qel cavolo d exe nn reisco piu aseccarlo via....

Ci metti più di 83-84 secondi? Mi pare strano... Non è che hai letto i risultati della 1.0 ed hai fatto i test con la 1.1???
Poi, se premi ESC durante il test l'eseguibile dovrebbe stopparsi automaticamente. Anche io per le prove lo ho usato sotto windows, ma dovrebbe funzionare in DOS. Se poi ho sbagliato qualcosa lo correggerò. Quello che mi interesserebbe sapere però è se, in caso di CPU troppo (ma troppo :help: ) overcloccate, riesce ad accorgersi degli errori già in DOS, senza bisogno di caricare e quindi rovinare il S.O. La mia paura è che in DOS risulti stabile lo stesso. Se qualcuno verifica mi farebbe un favore

http://img233.imageshack.us/img233/5642/sp117yu.th.jpg (http://img233.imageshack.us/my.php?image=sp117yu.jpg)

iron84
05-01-2006, 14:09
Ottimo programma! Lo provo!

Dante89
05-01-2006, 14:21
Interessante... ;)

e.cera
05-01-2006, 14:43
E invece sembra che OverdeatH86 abbia ragione...
Questo test favorisce "leggermente" AMD....

guardate...

http://img213.imageshack.us/img213/8274/untitled16ae.jpg (http://imageshack.us)

pupgna
05-01-2006, 14:54
dopo lo provoo

OverdeatH86
05-01-2006, 20:27
prescot 4000mhz con la versione 1.1 mi fa 137s..... qalkosa nn qadra?!?

i file ce li ho sul desktop e nn riesco ne aspostarli ne a eliminarli dice ke sn in uso ma nn sn in uso cavolo....cm cavolo faccio? :muro:

Щαтиіαѕ
05-01-2006, 20:38
sembra carino... mi fa 52 e rotti :)

OverdeatH86
05-01-2006, 20:49
sembra carino... mi fa 52 e rotti :)
:sofico: ke hai d procio?? un FX57?

Щαтиіαѕ
05-01-2006, 20:56
:sofico: ke hai d procio?? un FX57?


fx55 @ 254x11

OverdeatH86
05-01-2006, 21:16
Ragazzi ma come è possibile che il PII di e.cerca ha 512 di cache quando il mio PIIIE 650mh con processo a 0.18 ne ha solo 256? Qualcosa non quadra... :confused: Spiegatemi...

Comunque adesso lo provo su questo mulo... :read:
tt i pentium 3 hanno 256...i pentium 2 avevano 512 d cache...

OverdeatH86
05-01-2006, 21:41
Cioe mi stai dicendo che conveniva prendere un PII?
no no mi pare ke i P2 avessero la cache ke girava piu moscia della freqenza delclock...a parità d freq va molto meglio un pentium3!!

DevilMalak
05-01-2006, 23:02
57 con la cpu a 260x10

OverdeatH86
05-01-2006, 23:10
oh ma cmè ke anke la versione 1.1 va bene solo cn AMD? :rolleyes:

DevilMalak
05-01-2006, 23:25
stiamo calmi eh..

Mo3bius
06-01-2006, 00:37
Questo con un opteron 165@2700 mhz
Ma utilizza solo un core ......, tranne i pcmark e cinebench03 non ho ancora
visto dei bench che utilizzano il dc ....

http://www.hostfiles.org/files/20060106013518_Scpu11.jpg

Nativoz
06-01-2006, 00:56
Grazie delle segnalazioni.
Mi sono reso conto anche io del divario che c'è tra AMD ed Intel. Io non sono un programmatore, mi occupo di network, ma sto lo stesso cercando di offrirvi un prodotto freeware. Con ciò non voglio dire che sono scusato di eventuali errori, ma che almeno posso prendermela 'comoda' per correggerli senza incappare nelle ire degli Intellisti.

Una cosa che ho notato è che nei calcoli sugli interi AMD non vince, STRAVINCE e se metto tra i test un 33.3% di calcoli su interi,un 33.3% di calcoli in virgola mobile ed un 33,3% di elaborazioni su stringhe ottengo il risultato dato da questo programma.
Come dovrei comportarmi per il punteggio?
Da quello che ho potuto verificare, non è possibile attribuire un punteggio equo e unico ad AMD e ad INTEL.
Se volessi pareggiare i conti dovrei diminuire nettamente i calcoli sugli interi in favore di quelli in virgola mobile, e questo sarebbe un avvantaggiare INTEL. Un unico punteggio lo vedrei più come un compromesso che come un risultato attendibile.
Più avanti vedrò se creare punteggi separati o arrivare ad un 'compromesso'.
Per ora usatelo per fare confronti tra CPU INTEL o confronti tra CPU AMD.
A presto

3nigma666
06-01-2006, 01:53
ciao...
premetto che non ho visto il codice sorgente del tuo programma,e visto ke non credo ke tu abbia fatto il programma in assembler,andando quindi a stressare realmente con operazioni molto piu "dettagliate" la cpu,ma avrai usato dei semplici algoritmi di ordinamento su vettori,utilizzando prima gli interi poi i flaoting point e per ultimo le stringhe(non penso tu abbia semplicemente fatto * / + e - tra numeri), a mio avviso il tuo programma non è attendibile e ti spiego perke:

è troppo grande la differenza che intercorre tra il risultato del tuo 2500+ amd e il mio 3200+ amd, ci sono ben 11 secondi di distacco,troppi,ora ti illustro il perche:

se io ho un algoritmo ,consideriamo sempre quelli di ordinamento,prendiamo i due piu famosi :

insertion sort
quick sort

supponiamo di eseguire l'insertion sort con queste premesse:

- in input un vettore di 500 elementi disordinati.
- ripeto l'ordinamento 100 volte e faccio 1 media dei tempi ottenuti

Se eseguo questo su un pentium 300 e su un un amd 3200+ la differenza che intercorre tra questi due processori come risultato è nell'ordine del 0,1 secondi
(il tuo gap segnalato è di E' ben 100 volte piu grande)

questo perchè non è la potenza del processore che influisce sulla velocita dell'algoritmo ma bensi l'efficienza dell'algoritmo.

infatti se io processo lo stesso tipo di input (vettore di 500 elementi ,ordinato per 100 volte)sulle stesse macchine ma con un algoritmo di quick sort ottengo che E' PIU VELOCE l'ordinamento di quick sort su pentium 300 piuttosto ke l'ordinamento INSERTION SORT su AMD 3200+

questo perche se la memoria non mi inganna

insertion sort ha una complessità pari a n^2 (MOLTO PIU LENTO)
mentre quick sort ha una complessita di n(logn ) (MOLTO PIU VELOCE)

dove n indica il numero di elementi del vettore.

Da questo deduco che nel tuo programma c'è qualcosa che non va.
Ripeto: non ho visto il tuo sorgente ,ma a mio avviso puoi aver effettuato 2 tipologie di sbaglio:

1) Numero di ripetizioni dei calcoli non sufficiente
2) Calcolo del numero delle ripetizioni non scabile su qualsiasi hardware

Mi spiego:

Il processore,o meglio il sistema operativo ha un tempo minimo misurabile,oltre il quale non è in grado di misurare che varia molto a seconda del sistema operativo che si sta adoperando,del tipo su linux è pari a 0,01 secondi, su windows ben 10 volte piu grande 0,1 secondi.
di conseguenza se io faccio fare al computer una operazione del tipo:

5+5 = 10;

e ne devo misurare il tempo impiegato a calcolare faccio 1 operazione del genere:


to = clock() // funzione ke ritorna il valore in millisecondi del tempo trascorso dall'inizio dell'esecuzione
5 + 5 = 10;
t1 = clock()

tempo_tot = t1 - t0

noteremo che tempo_tot avra valore = NULL (ovverosia nullo)
in quanto l'operazione è stata effettuata in un tempo troppo piccolo
perche il computer potesse calcolarlo.

per poter calcolare correttamente il tempo devo ripetere un numero di
volte SUFFICIENTE l'operazione 5 + 5 = 10 per poter calcolare il tempo medio di esecuzione, in questo modo:



t0 = clock()
for (int k = 0; k<=10000;k++)
{
5 + 5 = 10;
}

t1 = clock()

tot = t1 - t0 / 10000

in questo caso riesco ad avere un dato realistico

il problema che io non so che tipo di operazioni tu hai compiuto quindi non so dirti il numero di ripetizioni che devi immettere.
pero lo puoi calcolare comodamente in questa maniera:


int ripetizioni()
{
to = clock();
while ( t1 <= t0)
{
5 + 5 = 10;
t1 = clock();
ripetizioni = ripetizioni + ripetizioni;
}
return ripetizioni;
}



in questo modo ottieni il numero di ripetizioni necessario affinche
l'operazione che devi calcolare sia ripetuta un numero sufficiente di volte
per poter esser misurato il suo tempo di esecuzione in maniera efficace e non trascurabile.

con questo metodo scritto sopra (dovrebbe essere corretto,sono le 3 di notte se ho fatto qualke errore di coerenza,qualcuno mi corregga) riesci a trovare il numero esatto di ripetizioni da compiere adatto sia all'hardware sul quale sta girando il programma sia all' OS,quindi scalabile su qualsiasi hardware/OS

Ripeto,non ho visto il tuo sorgente,sono solo impressioni ,e la mia non vuole essere una critica distruttiva ma istruttiva,improntata alla miglioria di un bel software freeware !

spero di essere stato utile
se qualcuno nota qualke incoerenza o vuole delucidazioni mi dica pure saro ben lieto di correggermi!

'notte

3NiGm@666

OverdeatH86
06-01-2006, 07:43
wow ke bordello :sofico: cmq ho notato anke ke il procio macina poco(sul prescott) cmq in bocca al lupo x l'ottimizzazione del codice :)

lowenz
06-01-2006, 11:42
Versione 1.1: 68.0546 col sistema in signature :)

A winXP sembra piacere molto.....non me lo lascia più cancellare/spostare :muro: :D

OverdeatH86
06-01-2006, 11:48
Versione 1.1: 68.0546 col sistema in signature :)

A winXP sembra piacere molto.....non me lo lascia più cancellare/spostare :muro: :D
si è successo anke a me .....fa cosi..usa A43 ke è un programma tipo explorer,qundi apri A43,poi kiudi explorer e cn A43 maneggi qel file cosi funzia :D

3nigma666
06-01-2006, 11:49
non è ke il file ke hia mandato sia infettato vero........? lo segnala in uso ma nella lista dei thread non c'è ... sei sicuro non fosse infettato? l'antivirus anche non l ha rilevato..ma non si sa mai..

OverdeatH86
06-01-2006, 12:53
no no è win ke è cretino....fate cm v o detto e s cava!

iron84
06-01-2006, 13:14
A me nessun problema.

lowenz
06-01-2006, 13:32
no no è win ke è cretino
Questa è una delle poche certezze che mi sono rimaste nella vita.....per questo sono così affezionato a M$.....programmatrice di certezze :D

ChiHuaHua86
06-01-2006, 13:49
con quello di sign:
http://img205.imageshack.us/my.php?image=immagine5jt.jpg

3nigma666
06-01-2006, 16:00
Ne ho buttato giu ora una versione,che supporta le modalita prima discusse,proviamo a vedere se da le stesse differenze tra le cpu testate in questo 3d.
fatemi sapere ;)

LINK
http://ruvalu.altervista.org/ALUSPEED_v0_9.rar

PER SCARICARE COPIATE e INCOLLATE IL LINK SOPRA NELLA BARRA DEI LINK(dove scrivete di solito l'indirizzo del sito ke volete visitare tipo www.google.it)

lowenz
06-01-2006, 16:14
Ma il punteggio come va inteso?

http://img389.imageshack.us/img389/5807/aluspeed3mz.jpg

Ho battuto un 3200+ ? :D

Mo3bius
06-01-2006, 16:21
Utilizza anche questo solo un core , cmq fatto :


http://img427.imageshack.us/img427/5592/aluspeed5ya.th.jpg (http://img427.imageshack.us/my.php?image=aluspeed5ya.jpg)

lowenz
06-01-2006, 17:16
Uccidendo explorer.exe, altra roba e impostando la priorità del processo su "Alta": 50127.

3nigma666
06-01-2006, 19:46
si è singol core,sto implementando il dual core.
il punteggio va inteso come tempo impiegato per eseguire delle determinate operazioni diviso per un costante,il risultato è 1 punteggio

Mo3bius
06-01-2006, 22:26
si è singol core,sto implementando il dual core.



Spero ti vada bene , con un tuo collega programmatore stavamo diventando
scemi nei test di un bench ottimizzato per il dual core ...., gli score non erano
mai allineati , ogni volta che si lanciava il test il risultato era diverso ...
insomma un casino ....
Adesso ci sta' lavorando un po' su per vedere di risolvere il problema , ma
non e' semplice a quanto pare......


saluti

Kaly
06-01-2006, 23:49
Allora:
spacca cpu:35.042.....
alubench:57060
senza chiudere nulla

3nigma666
06-01-2006, 23:51
uhmmm... per caso hai il link del thread relativo a questa programma?

come ha scritto il programma in linguaggi ad alto livello tipo C++ o linguaggi a basso livello tipo assembler?

se ha utilizzato come me un linguaggio ad alto livello come C++ è normale ke i risultati non vengano proprio proprio allineanti per semplici motivi:

1)La strada che stiamo percorrendo in questo thread per creare un benchmark freeware si basa fondamentalmente su due grossi errori:
-il linguaggio di programmazione
- il termine di paragone del benchmark.


Mi spiego:

Il linguaggio di programmazione è fondamentale!
infatti programmando con linguaggi ad alto livello ,il programmatore non va a scegliere come e quando utilizzare le risorse di sistema e soprattutto che risorse di sistema. Mi spiego meglio:

supponiamo molto banalmente di dare in input al processore due numeri da sommare.Vogliamo calcolare il tempo impiegato per sommare questi due numeri.
SE uso 1 linguaggio ad alto livello ,i numeri vengono creati nella ram.
Al momento della somma vengono prelevati dalla ram e depositati in cache per poi essere processati.
Se utilizzo un linguaggio a basso livello tipo assembler,i numeri vengono direttamente creati nella memoria cache che è 100 di volte piu veloce rispetto alla ram.
NE deduciamo ke il tempo impiegato per calcolare la somma di due numeri è DECISAMENTE PIU GRANDE (nel nostro esempio 100 volte piu grande) nei linguaggi ad alto livello che nei linguaggi a basso livello,quindi gia cosi il risultato è sfalsato.
Uno però puo dire: beh se io faccio le prove sempre con lo stesso software programmato ad alto livello è come se usassi sempre lo stesso metro di misura!
E invece NO!
PERKE a seconda della SCHEDA MADRE e DELLA RAM ACQUISTATA E DAI SETTAGGI DEL BIOS la ram puo lavorare a regimi MOOLTO DIVERSI!Ci sono chipset che fanno viaggiare le ram a 266 Mhz contro altri che fanno viaggiare la ram a 800 mhz,c'è una ENORME DIFFERENZA.
QUINDI Scegliere il linguaggio ad alto livello è gia un handicap a priori.
Il problema è che come dice il nome stesso: linguaggio a basso livello indica che si programma ad un livello di astrazione mooolto piu basso,e quindi bisogna "specificare" al computer tutto quello ke deve fare per poter effettuare la somma,del tipo in C++ basta fare a = b + c;
mentre invece in assembler bisogna:
- liberare un registro della cache
- prelevare i due numeri dai registri (Sapere BENE CHE REGISTRI SONO),
- sommarli i numeri
- indicare in che registro va salvato il numero sommato!

Insomma 1 riga di codice in alto livello corrispondono a 10 in basso livello,capirete anche voi ke diventa una rottura di p4lle immensa!

Per quanto riguarda il termine di paragone,
come ho scritto anche sopra non è la differenza di clock ke fa la differenza ma bensi l'algoritmo usato per fare i calcoli,infatti lo stesso vettore lo posso ordinare con lo stesso processore con 2 algoritmi diversi e ottenere tempi che sono uno il centesimo dell'altro (1 sec dell'algoritmo A contro i 0,01 dell'algoritmo B).
Andrebbero fatte operazioni piu "spartane" gestibili in maniera accettabile solo tramite linguaggi a basso livello.

per questi motivi con il dual core ci possono essere dei problemi di allineamento se viene usato linguaggio ad alto livello ,in quanto i due core non lavorano esattamente alla stessa maniera,e soprattutto il compilatore (per chi non lo sapesse il compilatore "traduce da linguaggio di programmazione a linguaggio macchina") non è detto che implementi correttamente o adeguatamente alle nostre richieste la gestione della sincronia tra i due core.
Insomma ci sono molti fattori che possono incidere .
A mio avviso una soluzione per i linguaggi ad alto livello è questa:

misurare un grosso numero di volte la differenza di risultati, e utilizzare questa differenza come sensibilità della misurazione.
Ovverosia: se la differenza tra i risultati è in un intorno di 0,1 secondi, prendere 0,1 secondi come unita di misura minima MISURABILE! in questa maniera otterai sempre risultati coerenti,no?

3nigma666
06-01-2006, 23:51
Kaly le foto... posta le foto... :D

Kaly
06-01-2006, 23:54
Kaly le foto... posta le foto... :D
imageshack nn me le uppa,stò provando

Kaly
06-01-2006, 23:56
http://img264.imageshack.us/img264/9772/spaccacpu8yh.jpg
con timing alla caxxa

3nigma666
06-01-2006, 23:58
NON HO PAROLE ... :eek:

Kaly
06-01-2006, 23:59
NON HO PAROLE ... :eek:
si può migliorare,stò cercando di farmi spiegare l'ottimizzazione delle ram

Megasoft
07-01-2006, 00:05
uhmmm... per caso hai il link del thread relativo a questa programma?

come ha scritto il programma in linguaggi ad alto livello tipo C++ o linguaggi a basso livello tipo assembler?

se ha utilizzato come me un linguaggio ad alto livello come C++ è normale ke i risultati non vengano proprio proprio allineanti per semplici motivi:

1)La strada che stiamo percorrendo in questo thread per creare un benchmark freeware si basa fondamentalmente su due grossi errori:
-il linguaggio di programmazione
- il termine di paragone del benchmark.


Mi spiego:

Il linguaggio di programmazione è fondamentale!
infatti programmando con linguaggi ad alto livello ,il programmatore non va a scegliere come e quando utilizzare le risorse di sistema e soprattutto che risorse di sistema. Mi spiego meglio:

supponiamo molto banalmente di dare in input al processore due numeri da sommare.Vogliamo calcolare il tempo impiegato per sommare questi due numeri.
SE uso 1 linguaggio ad alto livello ,i numeri vengono creati nella ram.
Al momento della somma vengono prelevati dalla ram e depositati in cache per poi essere processati.
Se utilizzo un linguaggio a basso livello tipo assembler,i numeri vengono direttamente creati nella memoria cache che è 100 di volte piu veloce rispetto alla ram.
NE deduciamo ke il tempo impiegato per calcolare la somma di due numeri è DECISAMENTE PIU GRANDE (nel nostro esempio 100 volte piu grande) nei linguaggi ad alto livello che nei linguaggi a basso livello,quindi gia cosi il risultato è sfalsato.
Uno però puo dire: beh se io faccio le prove sempre con lo stesso software programmato ad alto livello è come se usassi sempre lo stesso metro di misura!
E invece NO!
PERKE a seconda della SCHEDA MADRE e DELLA RAM ACQUISTATA E DAI SETTAGGI DEL BIOS la ram puo lavorare a regimi MOOLTO DIVERSI!Ci sono chipset che fanno viaggiare le ram a 266 Mhz contro altri che fanno viaggiare la ram a 800 mhz,c'è una ENORME DIFFERENZA.
QUINDI Scegliere il linguaggio ad alto livello è gia un handicap a priori.
Il problema è che come dice il nome stesso: linguaggio a basso livello indica che si programma ad un livello di astrazione mooolto piu basso,e quindi bisogna "specificare" al computer tutto quello ke deve fare per poter effettuare la somma,del tipo in C++ basta fare a = b + c;
mentre invece in assembler bisogna:
- liberare un registro della cache
- prelevare i due numeri dai registri (Sapere BENE CHE REGISTRI SONO),
- sommarli i numeri
- indicare in che registro va salvato il numero sommato!

Insomma 1 riga di codice in alto livello corrispondono a 10 in basso livello,capirete anche voi ke diventa una rottura di p4lle immensa!

Per quanto riguarda il termine di paragone,
come ho scritto anche sopra non è la differenza di clock ke fa la differenza ma bensi l'algoritmo usato per fare i calcoli,infatti lo stesso vettore lo posso ordinare con lo stesso processore con 2 algoritmi diversi e ottenere tempi che sono uno il centesimo dell'altro (1 sec dell'algoritmo A contro i 0,01 dell'algoritmo B).
Andrebbero fatte operazioni piu "spartane" gestibili in maniera accettabile solo tramite linguaggi a basso livello.

per questi motivi con il dual core ci possono essere dei problemi di allineamento se viene usato linguaggio ad alto livello ,in quanto i due core non lavorano esattamente alla stessa maniera,e soprattutto il compilatore (per chi non lo sapesse il compilatore "traduce da linguaggio di programmazione a linguaggio macchina") non è detto che implementi correttamente o adeguatamente alle nostre richieste la gestione della sincronia tra i due core.
Insomma ci sono molti fattori che possono incidere .
A mio avviso una soluzione per i linguaggi ad alto livello è questa:

misurare un grosso numero di volte la differenza di risultati, e utilizzare questa differenza come sensibilità della misurazione.
Ovverosia: se la differenza tra i risultati è in un intorno di 0,1 secondi, prendere 0,1 secondi come unita di misura minima MISURABILE! in questa maniera otterai sempre risultati coerenti,no?

Programmo in C# e ho risolto il problema giusto 40 min fa grazie all'aiuto di Mo3bius e KayRez (ottimi tester).
Domani posto la nuova versione corretta che sfrutta il dual processor senza problemi. ;)

http://www.hwupgrade.it/forum/showthread.php?t=1103597

Questo è il thread. ;)

P.S. Non sottovalutare i linguaggi interpretati. XD

3nigma666
07-01-2006, 00:08
lancia il programma con il task manager chiudi tutte le applicazioni (soprattuto explorer) e lascia aperte solo i procesi di sistema,gia dopo di che dai priorita alta al processo del benchmark,chiudi task manager e fai partire il benchmarck

Kaly
07-01-2006, 00:24
Spacca:34.713
Test Alu Punteggio: 58556
chiudendo tutti i processi admin e lasciando solo quelli di sistema,qlcosa si guadagna,anche al spi guadagnato 1 sec

3nigma666
07-01-2006, 00:34
se arrivi a 60000 sei 1 drago!
Prova magari ad overclocare un pokino il processore,penso basti aumentare l'fsb di 3 - 5 Mhz

3nigma666
07-01-2006, 00:35
Megasoft FANTASTICO!! se riesci MAGARI a postare anche il codice che mi incuriosisce parecchio vedere che tecnica hai adottato! sempre se hai intenzione di rilasciarlo in versione open source ;)
KE soluzione hai adottato per risolvere il problema?
ciao e COMPLIMENTI

Megasoft
07-01-2006, 00:47
domani posto il sorgente come sempre su sourceforge insieme al "compilato".
Se hai notato sul thread il benchmark è opensource sotto licenza BSD (penso conosci le clausole (redistribuzione e riutilizzo libero basta che si tenga la nota di copyright nel sorgente e nell'eseguibile)).

Cmq il problema era una Race Conditions sul Multithreading, io ho tagliato la testa al toro e son passato da un MultiThreading ad un MultiProcessing, creando più processi che vengono affidati a processori diversi. Ora l'oscillazione è dell'ordine di 1 centesimo di secondo a malapena. ;)

3nigma666
07-01-2006, 00:49
behdirei semplicemente geniale ... se appena upppi i sorgenti mi fai 1 fiskio ti sarei debitore ;) grazie

Mo3bius
07-01-2006, 01:07
Chi voleva i 60000 ?
c'e' un resto di 2000 ma fa' lo stesso :)


http://www.hostfiles.org/files/20060107020547_Aluspeed.jpg


peccato che sia single core , in multicore si superano i 100k credo.



saluti

3nigma666
07-01-2006, 01:12
'NVEDI COME BALLA NANDO.....
COMPLIMNETI VIVISSIMO... oramai il limite da superare sono i 70.000 .. per quanto riguarda il supporto dual core mi mettero ad implementarlo da domani partendo dall'idea di Megasoft.

Intanto vediamo chi arriva ai 70.000

io direi di stilare in 1 Thread la classifica dei vari risultati con relativa foto che documenta il risultato....

PS: devo modificare l'istogramma finale xche con i processori a 64 bit della AMD ve4do che ha dei grossissimi problemi...il NOME è TROOOPPO LUNGO

Mo3bius
07-01-2006, 01:13
e lo spaccacpu alla stessa frequenza :

http://www.hostfiles.org/files/20060107021154_Scpu1.jpg

Mo3bius
07-01-2006, 01:22
'NVEDI COME BALLA NANDO.....
COMPLIMNETI VIVISSIMO... oramai il limite da superare sono i 70.000 .. per quanto riguarda il supporto dual core mi mettero ad implementarlo da domani partendo dall'idea di Megasoft.

Intanto vediamo chi arriva ai 70.000

io direi di stilare in 1 Thread la classifica dei vari risultati con relativa foto che documenta il risultato....

PS: devo modificare l'istogramma finale xche con i processori a 64 bit della AMD ve4do che ha dei grossissimi problemi...il NOME è TROOOPPO LUNGO

Ottimizza bene il sw , anche per il DC , poi apri un topic nella sezione benchmark e li si postano i risultati degli utenti .
Se c'e' un valido riscontro si apre sul database dei benchmak del forum
un capitolo per questo bench :)
Ci sono due utenti che nel passato hanno sviluppato dei benchmark e sono li' :)
Nella mia sign trovi il link al database , puoi dargli un occhio .


notte

Kaly
07-01-2006, 10:02
http://img214.imageshack.us/img214/3324/alu5de.jpg
posso essere il fratellino dell'opti :)