Pagina 1 di 2

32 o 64 bit?

Inviato: mer 24 feb 2010, 10:43
da Ivanhoe
Ho appena comprato un nuovo portatile (Acer Aspire 4810TG) con processore
Intel Core 2 Duo SU9400 (3M Cache, 1.40 GHz, 800 MHz, FSB).
Mi sembra di aver capito guardando su
http://ark.intel.com/Product.aspx?id=36697
che supporta i 64 bit. Questo significa che "posso" usare
Slackware x86-64 oppure che "devo" usare x86-64 e non la versione a 32 bit (cioè la versione per i686) ?
Grazie per ogni chiarimento,
Ivano

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 10:52
da daigo
Significa che puoi. Io la userei.... anzi, la uso!

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 10:52
da Kristos
Ivanhoe ha scritto:Ho appena comprato un nuovo portatile (Acer Aspire 4810TG) con processore
Intel Core 2 Duo SU9400 (3M Cache, 1.40 GHz, 800 MHz, FSB).
Mi sembra di aver capito guardando su
http://ark.intel.com/Product.aspx?id=36697
che supporta i 64 bit. Questo significa che "posso" usare
Slackware x86-64 oppure che "devo" usare x86-64 e non la versione a 32 bit (cioè la versione per i686) ?
Grazie per ogni chiarimento,
Ivano
Secondo me puoi montare sul tuo portatile la versione di Slackware che preferisci che sia 32bit i686 che x86_64 indifferentemente.
Sul mio pc ad esempio ho usato tutte le architetture di Slackware e non ha mai avuto problemi ed ho un Pentium Dual Core (quindi più datato rispetto che al tuo processore).
Ora per motivi tecnici e di sviluppo come packager uso la 32 bit.
Quindi secondo me puoi stare tranquillo qualsiasi scelta tu faccia come architettura. :thumbright:

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 11:08
da NetNightmare
Secondo me fatto salvo che puoi scegliere la versione che preferisci, a meno di avere necessita' del x64 ( non so magari il tuo notebook ha 6 gb di ram ) per il momento resterei con il 32bit a meno che la tua conoscenza di slack sia discreta, infatti ti ricordo che la slackware 64 e' di default un sistema puro a 64 ( ovvero non puoi farci girare software compilato per 32 bit ) a meno di non installare le multilib.

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 11:13
da daniele50
Anch'io le ho provato entrambe, sia su intel dual-core che su amd x2.
Vanno benissimo entrambe.

Sostanzialmente la scelta di tenere (almeno per ora) la 32 bit è causata dal fatto che ci sono tutti i pacchetti precompilati già pronti (programmi, librerie, ecc.), di cui il 99% reperibili proprio dai repository di slacky :D .

Certo mi piacerebbe passare a 64bit perché sfrutterei moglio le potenzialità dell'hardware, ma questo richiederebbe la compilazione di molti pacchetti che uso.
Almeno per ora non ne ho il tempo e quindi vado avanti con la 32...

Ciao!

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 11:41
da albatrosla
daniele50 ha scritto:Certo mi piacerebbe passare a 64bit perché sfrutterei moglio le potenzialità dell'hardware, ma questo richiederebbe la compilazione di molti pacchetti che uso.
Questo è un mito da sfatare, che può anche chiarire la questione. Se si fa un utilizzo casalingo del pc, non solo è inutile passare da 32 a 64bit, ma è anche controproducente. Buona parte dei software non sono ottimizzati per i 64bit, anche se li si compila per i 64bit (sono stati fatti benchmark che dimostrano come, addirittura, certi codici nati per 32bit, compilati a 64 decadono leggermente di prestazioni). Passare ai 64bit è una questione di necessità, non di sfizio: se usi il pc per fare lavori particolarmente onerosi, soprattutto in termini di ram, con software specificamente scritti per sfruttare l'architettura a 64bit, allora la necessità è concreta. Altrimenti è solo una perdita di tempo.

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 12:27
da lamarozzo
albatrosla ha scritto:certi codici nati per 32bit, compilati a 64 decadono leggermente di prestazioni
La mia esperienza è diversa. I codici compilati a 64 bit sono sempre più performanti degli equivalenti a 32 bit. Al di là del maggior indirizzamento per la memoria (di cui puoi fare a meno se hai meno di 4Gb di ram), le ultime architetture a 64 hanno introdotto molte migliorie e ottimizzazioni che non vedo il motivo di non sfruttare.

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 14:26
da albatrosla
Qui c'è un'interessante digressione sulla cosa:
http://forums.amd.com/devblog/blogpost. ... &catid=317
Una lettura superficiale può generare idee entusiastiche sui 64bit. Tuttavia c'è da sottolineare che:
64-bit took the lead in the media encoding tests. Our Povray and Mencoder benchmarks took about 5% less time in the 64-bit case, Oggenc even 25%. Just C-compilation tests showed a performance advantage of 5% to 8% for 32-bit versus 64-bit.
Native arithmetic performance (64-bit data types used in 64-bit software vs. 32-bit data types used in 32-bit) showed a gain of 10% for the 64-bit case. Using 64-bit data types on 32-bit and 64-bit in the arithmetic performance test showed that 64-bit is more than twice as fast as 32-bit.
Quindi dipende se uno deve compilare molto o no, tanto per fare un esempio, mentre per operazioni multimediali i 64bit sono più veloci (questo uno se lo può aspettare: le applicazioni multimediali richiedono molte risorse e per tanto sono sviluppate per sfruttare al massimo le macchine a 64bit). Aggiungo, come detto in precedenza, che se non si fa uso di applicazioni di questo genere, è pressoché inutile un sistema a 64bit (non parlo di quando uno si guarda un film, ovviamente...). Nella fattispecie, come sistema desktop è sprecato, e - in taluni casi - pure più lento. Bisogna tener presente che - a meno che non si abbiano delle librerie di compatibilità - bisogna compilarsi molte applicazioni, e proprio in questo pare che il 32bit sia più performante.

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 14:37
da ildiama
albatrosla ha scritto: Buona parte dei software non sono ottimizzati per i 64bit, anche se li si compila per i 64bit (sono stati fatti benchmark che dimostrano come, addirittura, certi codici nati per 32bit, compilati a 64 decadono leggermente di prestazioni). Passare ai 64bit è una questione di necessità, non di sfizio: se usi il pc per fare lavori particolarmente onerosi, soprattutto in termini di ram, con software specificamente scritti per sfruttare l'architettura a 64bit, allora la necessità è concreta. Altrimenti è solo una perdita di tempo.
Scusa, ma di che software parli? Potresti fare un esempio? Per un uso prettamente casalingo tutti i software tipo firefox, openoffice, KDE, gnome, fluxbox, etc.. sono scritti in C, C++, Java, python. Tutta roba che sicuramente non ha ottimizzazioni specifiche per i 32 bit. Gli unici che potrebbero averne sono X e wm (kwin, compiz, fluxbox,etc..). Ma io non ho sentito mai nulla a riguardo per questi qui.
Tra l'altro la tua affermazione sull'uso di RAM dei sw 64bit è un pò "strana". A meno che tu non usi sw che utilizzano "da soli" più di 4 Gb di RAM (vorrei proprio vederne su un PC casalingo...) il problema della RAM decade sulla gestione della memoria da parte di OS. E anche qui è risaputa la tecnica per gestire correttamente più di 4 Gb di RAM a 32 bit (PAE, però "solo" fino a 64 Gb).

Il punto principale rimane quello "prestazionale" e talvolta le spiegazioni "banali" sono le migliori: un sistema a x bit indirizza ogni intero con x bit e i compilatori trasformano quasi ogni operazione che il nostro computer esegue in una serie di operazioni fra interi. Un sistema a 64 bit fa più velocemente le operazioni, ma con costi di memoria raddoppiati. Quale sia la strategia migliore.. dipende! :D
In ogni caso, che Pat abbia deciso di aprire il fronte 64 bit dovrebbe essere un bel segnale..

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 15:00
da Mario Vanoni
ildiama ha scritto: Il punto principale rimane quello "prestazionale" e talvolta le spiegazioni "banali" sono le migliori: un sistema a x bit indirizza ogni intero con x bit e i compilatori trasformano quasi ogni operazione che il nostro computer esegue in una serie di operazioni fra interi. Un sistema a 64 bit fa più velocemente le operazioni, ma con costi di memoria raddoppiati. Quale sia la strategia migliore.. dipende! :D
In ogni caso, che Pat abbia deciso di aprire il fronte 64 bit dovrebbe essere un bel segnale..
Prendi time make -j 2 bzImage su un Core 2 Dual con 4096kB di L2 cache e 4GB di RAM, tutto 32 bit:
la differenza di prestazione la fa` il kernel,
2.6.33-rc8 in confronto alla versione di Con Kolivas 2.6.33-rc8-sched-bfs-314.
La seconda impiega meno tempo.

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 15:40
da ildiama
Mario Vanoni ha scritto: Prendi time make -j 2 bzImage su un Core 2 Dual con 4096kB di L2 cache e 4GB di RAM, tutto 32 bit:
la differenza di prestazione la fa` il kernel,
2.6.33-rc8 in confronto alla versione di Con Kolivas 2.6.33-rc8-sched-bfs-314.
La seconda impiega meno tempo.
Casualmente la mia macchina ha proprio quel processore. In un sistema a 32 bit. Ancora però non capisco l'esempio. Vuoi dimostrare che a 32 bit il kernel bfs "va meglio" di quello vanilla. Ok. E allora? Hai mai provato a fare le stesse operazioni su un sistema a 64 bit?

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 16:43
da Mario Vanoni
ildiama ha scritto:Hai mai provato a fare le stesse operazioni su un sistema a 64 bit?
No, non ho (voglio) un sistema 64 bit per ora,
riservato alla prossima generazione di macchine.
Ma se passare da 32 bit a 64 bit migliora le prestazioni,
sia in 32 bit che in 64 bit anche la versione del kernel sara` importante.

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 18:42
da Ivanhoe
Grazie a tutti, adesso ho un quadro molto più chiaro. Per evitare grane con la ricompilazione
di molti pacchetti installerò la 32 bit (non credo che farò mai uso di applicazioni capaci
di divorare 4 Gb in un colpo solo :) )

Re: 32 o 64 bit?

Inviato: mer 24 feb 2010, 19:13
da Calzo
lamarozzo ha scritto:
albatrosla ha scritto:certi codici nati per 32bit, compilati a 64 decadono leggermente di prestazioni
La mia esperienza è diversa. I codici compilati a 64 bit sono sempre più performanti degli equivalenti a 32 bit
Premetto che io non ho letto molto relativamente ai 64 bit e non ho fatto moltissimi test (soprattutto non ho fatto nessun test con programmi multimediali... per ora). Però ho fatto qualche ricerca e qualche programma per testare le istruzioni aggiunte in questa architettura e, se venissero usate con coscienza secondo me aumenterebbero un po' (non credo molto) le prestazioni. Quello che ho visto io è questo:

1. SYSCALL: questa istruzione è forse la più importante ed è l'unico modo per accedere al kernel a 64 bit (almeno che io sappia). Sostituisce sia la SYSENTER che l'INT80 in modo decisamente più furbo. Non per niente questa non l'ha introdotta la Intell, ma AMD. E' interessante, dicevo, perchè viene chiamata in modo diretto, ossia se voi caricate i registri per configurare la vostra syscall, poi è sufficiente chiamare SYSCALL e non fare strani jump in funzione del vdso (che nei 64 bit non c'è neppure)... ecc (se ne parlava anche qui). Questo velocizza le chiamate certo... poi bisogna vedere di quanto. Per esempio le chiamate come gettimeofday() e simili occupano talmente tanto che non ve ne accorgete, ma se usate la getpid() o altre molto snelle allora il guadagno è sensibile. Resta ora da chiedersi quante volte occorra fare una getpid() in un processo: nel complesso il programma non ne risente perchè di syscall ne fa poche. Ho fatto dei benchmarck a riguardo se qualcuno fosse interessato.

2. R7...R15: e ci voleva tanto?? sempre AMD ha introdotto 8 registri general purpose che sono utilissimi se si fanno call con tanti argomenti o per lasciare liberi i soliti 4 registri (eax... anzi rax, rbx, ecc), quindi senza usare lo stack (le stesse syscall a 64bit le usano come 6° e 7° parametro se non esrro. Vedere il codice delle libc per maggioni informazioni). Non ho mai verificato se vengano usati nelle normali call anche se mi sembra che vengano usati, ma basta disassemblare un programma a 64bit per vederlo.

3. 64 > 32: come faceva notare ildiama. Certo che qui bisogna vedere se effettivamente vengano effettuati dai programmi calcoli "banali" come somme, moltiplicazioni e divisioni tra interi a 64 bit... e credo siano pochi. I programmi multimediali (seri) di solito usano la fpu, le SSEx e compagnia.

Quindi anche il compilatore deve metterci del suo: se non è ben ottimizzato i risultati non si vedono. Il gcc4 mi sembra abbastanza ottimizzato in tal senso.

Detto questo però ciò che conta è l'esperienza dell'utente la quale può smentire tutto quello che ho detto e/o verificato. Anzi, mi smentisco da solo: io personalmente uso i 32 bit (su un Opteron) perchè con il 64 bit ho avuto 2 problemi:
1- il primo è piccolo: 2 ubuntu con compiz, su quella a 64bit era leggermente più instabile
2- il secondo è GRAVISSIMO: SDLMaMe funzionava decisamente male! e questo anche sotto slackware se non ricordo male. Inoltre l'ho ricompilato quindi sono sicuro di averlo ottimizzato. Questo è per me sufficiente per dire che i 32bit sono decisamente meglio :D (quando si dice la valutazione tecnica :thumbright:)

bye

Re: 32 o 64 bit?

Inviato: ven 26 feb 2010, 15:24
da metrofox
Bhà guarda, basta cercare un po nel forum per trovare un paio di info e...
La mia esperienza è diversa. I codici compilati a 64 bit sono sempre più performanti degli equivalenti a 32 bit
Non sempre sai... http://it.wikipedia.org/wiki/64_bit#Pro_e_contro