Newsgroup: it.comp.hardware.cpu
Titolo: Velocità codice 32 e 64 bit

Ho una vecchia E6400.
 
Usando un compilatore che genera un eseguibile a 64 bit, l'utilizzo 
degli interi da 64 bit non dovrebbe risultare pi� efficiente?
Io mi sarei addirittura aspettato quasi un raddoppio della velocit� di 
esecuzione di un programma che lavora quasi esclusivamente su interi da 
64 bit, ma, invece, la velocit� � rimasta invariata.
 
La domanda nasce dal fatto che compilando a 64 bit una libreria sotto 
Ubuntu 64 bit, la velocit� degli eseguibili che sfruttano tale libreria 
� raddoppiata rispetto all'ambiente windows 32 bit.
 
Qualcuno pu�, per piacere, chiarire come stanno le cose?
 
Grazie
Cristiano

 Qualcuno pu�, per piacere, chiarire come stanno le cose?
 
Troppo poche informazioni per esprimere un giudizio,
solo vaghe ipotesi.
 
Per esempio, e` noto che il programmi a 64 bit possono
essere anche piu` lenti di quelli a 32, per il semplice
fatto che i puntatori, occupando doppio spazio, mettono
in crisi la cache piu` facilmente.
 
bye,
 
-- 
 
piergiorgio

 Cioe` Ubuntu x.y a 32 e 64, oppure win 7 32 e 64, etc.
 
Siccome dopo innumerevoli prove non ho mai visto un programma (scritto 
da me) che presenti differenze significative nella velocit� di calcolo 
da un SO all'altro (32 o 64 bit) eseguito nello stesso pc, vedere un 
raddoppio della velocit� � senza dubbio una prova molto significativa, 
anche se la prova � stata fatta su SO diversi.
 
L'unico motivo che possa spiegare un raddoppio esatto della velocit� 
(non il 73% o il 132%, ma proprio il 100%) non pu� essere altro che il 
compilatore (gcc) ha scritto l'eseguibile in modo da supportare 
nativamente gli interi da 64 bit. Per questo motivo, mi stavo chiedendo 
come mai un programma compilato a 64 bit con visual studio non mostri 
alcun miglioramento della velocit�.
 
Cristiano

 alcun miglioramento della velocit�.
 
Questa e` una possibilita`, puo` benissimo essere
che un compilatore abbia abilitate ottimizzazioni
che l'altro non ha.
 
Tra l'altro, io proverei diverse versioni di gcc,
tanto per vedere se fa differenza.
 
bye,
 
-- 
 
piergiorgio

 
L'esempio te lo faccio io. Medesimo PC, XP Pro 32 bit e Win7 Pro 64bit.
Normalmente il PC con Win7 va piu' veloce, se uso le macchine virtuali con
Oracle il Win7 è decisamente piu' lento in tutte le condizioni.
Se apro 2/3 macchine contemporaneamente XP e' grado di farle andare, in
Win7 diventa impossibile anche se la ram disponibile supera il limite dei
3gb, ce ne sono 6gb. Sai darmi una spiegazione a questa condizione
operativa?
 

 operativa?
 
Hai due sistemi operativi diversi.
 
Per fare un confronto e trarre delle conclusioni
significative, bisogna limitare le variabili che
cambiano da un caso all'altro.
 
Quindi, qualora si volesse fare un test "black
box", si dovrebbe prendere due PC identici, con
lo stesso identico SO, di cui cambia solo ed
esclusivamente l'architettura, cioe` 32 o 64 bit.
Si possono, a questo punto, fare dei benchmark e
dei test e, forse, trarre delle conclusioni.
 
Nel tuo caso, potrebbe benissimo essere un problema
di cache, come detto prima, ma e` solo speculazione,
dato che non sappiamo cosa cambia da XP a Win7.
 
bye,
 
-- 
 
piergiorgio