Tecnologia e non solo

novembre 23, 2008

32 o 64 bit? Verità e leggende.

Filed under: hardware,Intrepid — telperion @ 3:39 pm

Si legge spesso che una distribuzione Linux a 64 bit offre molti vantaggi prestazionali rispetto ad una a 32 bit, a fronte di una maggiore complessità nell’uso di applicativi a 32 bit non disponibili nella versione 64 con la conseguente necessità di usare wrapper o complicati chroot.

Con l’aiuto della Phoronix Test Suite cerchiamo di fare un pò di chiarezza “oggettiva” invece di basarci sulle impressioni soggettive.


Sistema di test:

Processor: Intel Pentium Dual CPU E2180 @ 2.49GHz (Total Cores: 2)
Motherboard: ASUSTeK Inc.
Chipset: Intel 82G33/G31/P35/P31 + ICH7
System Memory: 2009MB DDR2 800 @ 830 MHz
Disk: 500GB MAXTOR STM3500320AS
Graphics: GeForce 8600 GT 512MB (540/300MHz)
Screen Resolution: 1280×1024


I sistemi operativi usati sono Ubuntu 8.10 Interpid Ibex 64 e 32 bit, sostanzialmente identici come versioni del software installato.

I sistemi sono installati in due diverse partizioni delle stesso disco.
Entrambi i kernel cono vanilla 2.6.27.7 configurati con make oldconfig con la configurazione del originale kernel ubuntu 2.6.27.7-generic, sono stati variati cpu CORE2 premptive low-latency e timer 1000Hz, i driver Nvidia sono i 180.08 installati con l’installer fornito da Nvidia (.run).

Iniziamo con i test (cliccate i link per vedere i grafici).

1) super-pi (Processor Benchmarks) 1M e 2M per testare l’efficenza della cpu.

super-pi v1.0.1 (Processor Benchmarks) 1 Million Digits

risultanti coincidenti con un insignificante vantaggio del 32 bit, confermato anche dal

super-pi v1.0.1 (Processor Benchmarks) 2 Million Digits

esattamente come era lecito aspettarsi da questo test

2) opengl-demos suite per verificare le prestazioni del sistema e della grafica 3d opengl

opengl-demos (System Benchmarks)

qui il sistema a 32 bit è sempre più veloce fino a quasi il 10% del GLMark.

3) encoding suite test di codifica audo e video

encoding (System Benchmarks)

qui il 64 bit si avvantaggia fino al 33% del test Ogg Encoding. Non cosi tanto con lame e ffmpeg,
Va invece meglio il 32 bit con FLAC e Monkey Audio Encoding (+34%).
Alti e bassi a seconda dell’applicazione usata nessun vantaggio evidente di una architettura sull’altra.

4) multicore suite compilazioni e rendering per testare l’efficienza del sistema e l’uso di più core disponibili.

multicore (Processor Benchmarks)

Nella compilazione il 32 bit è sempre più veloce (Timed Apache Compilation, Timed PHP Compilation, Timed ImageMagick Compilation) fino al 9%.

7-Zip Compression a favore del 64 bit (+16%).
Tracollo totale Il 64bit nel Parallel BZIP2 Compression 484.44 secondi contro Average:22.50 Seconds del 32 bit (nel grafico nemmeno appare il dato, troppo piccolo). UPDATE: è probabile qualche problema nel test a 32 bit , quindi non consideriamo questo test.

Il test delle firme OpenSSL va a vantaggio del 64 bit (+145%), mentre il test Sunflow Rendering System non si è completato nella 32 bit causa blocco di Java quindi c’è solo il risultato della 64 bit.

Tiriamo le somme.

Nell’uso desktop, inteso come pc con interfaccia grafica WIMP “non uso server”, non come computer “casalingo”, i dati non sembrano evidenziare questo vantaggio più o meno grande, dell’architettura a 64 bit, che su alcune applicazioni porta si un deciso incremento, ma anche molti decrementi generali.
Da valutarne con attenzione l’utilizzo, consigliata se avete necessità di usare 4 o più GB di ram e/o fate un grande uso di applicazioni particolari, che testate hanno un effettivo incremento di prestazioni, per il resto sembra solo un effetto placebo da numero “grosso” e “originalità di pochi”.

Direi che fanno bene le aziende commerciali a non spendere tempo e soldi per realizzare versioni a 64 bit dei loro applicativi, meglio investire per migliorare i 32 bit.

Che questo dipenda da scarse ottimizzazioni del soft e driver a 64 bit non lo so e neppure mi importa onestamente, io misuro e valuto quello che ho in mano ora, quello che casomai sarà lo vedremo quando ci sarà.

32 o 64 bit? Parte 2: giochi opengl, java, workstation.

22 commenti

  1. Era l’articolo che mi serviva! Uso ubuntu a 32 sul mio core2duo p8400 con l’ultimo kernel vanilla e le varie ottimizzazioni anche se non l’ho messo a bassa latenza (mi conviene farlo?)
    avevo intenzione di provare ubuntu a 64 ma mi hai fatto cambiare idea!😀

    Commento di Superpiffer — novembre 23, 2008 @ 4:54 pm

  2. Sono abbastanza d’accordo con te, pero’ devo dire che io un generale miglioramento l’ho trovato tanto che ho preferito rimanere sulla 64bit con una serie di annosi problemi.
    Uso parecchio inkscape che sotto 64bit mi pare volare, firefox 64bit vola (lasciamo perdere flash)
    Molte applicazioni java (con jdk 64bit ovviamente) hanno tempi di startup ed esecuzione parecchio piu’ rapida.
    Insomma nel mio utilizzo quotidiano posso dire preferisco il 64bit.

    Ricordo che se si vogliono utilizzare piu’ di 3gb di RAM sui 32bit basta compilare il kernel con l’opzione server.

    Commento di dafi — novembre 23, 2008 @ 5:14 pm

  3. @Superpiffer
    low-latency aumenta leggermente la reattività del sistema.
    Per il resto una 64 bit conviene solo se si usa molto frequentemente un particolare software di cui sia “provata” la maggior velocità a 64 bit, altrimenti una 32bit è preferibile per usi “generali”.
    I risultati mi hanno abbastanza deluso, mi aspettavo molto di più tipo compilazioni 20% più veloci, non più lente coem invece verificato.

    Commento di telperion — novembre 23, 2008 @ 5:17 pm

  4. Caso specifico debian: per 64 bit tutta la distribuzione è compilata con le ottimizzazioni amd64, per 32 bit siamo all’ottimizzazione i386. A meno di non dover ricompilare tutto….

    Poi abbiamo l’accesso alla ram al di sopra dei 3 Gb (io ne ho 4, quasi tutti costantemente occupati da due vm virtualbox in esecuzione): non so cosa compporti sotto linux l’abilitazione del PAE (credo si chiami così) per l’indirizzamento di tutta la RAM. Certamente su windows comporta l’acquisto di una licenza più costosa. E mi piacerebbe capire anche quanto influisca il PAE sull’indice prestazionale globale di un pc.

    Sta di fatto che i PC con più di 3 Gb di ram a bordo sono sempre più diffusi (e vengono venduti regolarmente con a bordo Vista Home Premium 32 bit, che ne vede al massimo 3), e nel giro di qualche hanno il passaggio ai 64 bit sarà un must per buona parte dell’utenza.

    Ciauz

    Commento di Diego — novembre 23, 2008 @ 5:22 pm

  5. @dafi
    il kernel bastava attivare PAE ora nei nuovi c’è 64GB di supporto direttamente in configurazione.
    Firefox a me “vola” il 32 bit originale Mozilla, quelli delle distribuizioni sono delle chiaviche, purtroppo a 64 bit mozilla non lo fornisce.
    Flash ora c’è la versione a 64 bit che funziona (nel mio sistema) perfettamente anche meglio del 32 bit (meno cpu miglior qualità a schermo intero).
    Se Inkscape e Java hanno vantaggi, ritengo giusto, come detto, che tu usi la 64, bisognerebbe verificare e quantificare i vantaggi onde evitare l'”effetto placebo”, sempre in agguato.

    Commento di telperion — novembre 23, 2008 @ 5:24 pm

  6. @Diego
    la situazione Debian a64/i386 è la stessa di Ubuntu, quindi i test sono perfettamente sovrapponibili.
    Per la ram maggiore di 4GB ora con i core i7 con “triple channel”, che vengono venduti con kit DDR3 3×1 GB è probabile che il problema dei 4GB sia rinviato ancora di più.

    Commento di telperion — novembre 23, 2008 @ 5:29 pm

  7. @telperion
    allora rimango dove sono
    non ho esigenze particolari e quindi perchè dovrei masochisticamente aumentarmi i tempi di compilazione?😀
    poi ho appunto messo l’opzione per i 4GB di ram invece di usare la versione server del kernel e devo fare qualche test per vedere se effettivamente a bassa latenza noto miglioramenti
    grazie per le delucidazioni😉

    Commento di Superpiffer — novembre 23, 2008 @ 5:56 pm

  8. Grande! Lasciamo il 64bit e quadcore al marketing😛
    L’unica cosa che mi sfugge è perché il PAE non è abilitato sui kernel desktop di default.. controindicazioni?

    Commento di grigio — novembre 23, 2008 @ 6:55 pm

  9. Mi rispondo da solo, pare che in passato il PAE abbia dato qualche problema con la virtualizzazione, ma ora non è più così
    Suse e Fedora ci sono arrivate, prima o poi lo farà anche Ubuntu
    http://brainstorm.ubuntu.com/idea/11653/

    Commento di grigio — novembre 23, 2008 @ 7:11 pm

  10. feci queste prove (senza test ma a “impressione”) con diverse distro a 64 bit già a suo tempo e confermo il tuo articolo. In particolare, nell’uso desktop, non conviene.

    Commento di LuNa — novembre 24, 2008 @ 7:50 am

  11. Il PAE è un escamotage, un workaround, una fufigna insomma:
    2^32 = 4294967296 guarda un po! i miei 4GB ! Con 32 bit, insomma, quei 4GB si indirizzano…

    Con PAE l’indirizzamento viene portato a 36 bit da arzigogoli interni ai processori Intel e AMD quindi :
    2^36 = 68719476736 che guarda caso sono i 64GB limite del PAE.

    Ma le singole applicazioni a 32bit NON POSSONO COMUNQUE superare il limite (strutturale) dei 4GB, il PAE presuppone questo separando i vari processi a 32 bit e spostandoli su e giù per la nostra RAM.

    Ergo, il PAE è un taccone provvisorio (e non semplice da gestire) in attesa dei 64bit di indirizzamento, dove presto o tardi tutti finiremo. Se non abbiamo questa esuberanza di RAM teniamoci le nostre distro a 32bit maggiormente testate e pure performanti.

    Per i più curiosi esiste anche il metodo di far indirizzare più di 4GB alla singola applicazione 32bit, ma qui ci vorrebbe l’azzeccagarbugli di don abbondio per capire che razza di salti carpiati hanno fatto per raggiungere il risultato. Su windows mi pare si chiami AWE o qualcosa del genere, ma a differenza di PAE non è uno standard (se ho detto una caxxata qui bastonatemi pure :D).

    Byez

    Commento di Steno — novembre 24, 2008 @ 11:25 am

  12. @steno
    con i 32 bit si indirizzano 4GB ma nei 4 devi farci stare tutti gli I/O del dma, la ram della scheda video (anche 1GB) e tutte le mappature di bios e firmware vari che poi alle fine porta ai 3,3GB massimi di RAM “canonici”.
    Comunque è un problema relativo 2-3GB al momento sono più che sufficienti. e ribadisco in futuro col triple channel (core i7) si lavorerà su 3 banchi di ram per ottenere la banda massima quindi 3 o 6 GB di DDR3 saranno la norma ed ho il “sospetto” che 3GB sarà il taglio più utilizzato.

    PAE con 4GB di ram installata non vale la pena per il payload da pagare, se nei ha 6-8 allora meglio usare una 64bit.

    Commento di telperion — novembre 24, 2008 @ 12:00 pm

  13. @telperion
    Quello che dici ovviamente è corretto. Infatti mi premeva far capire che il PAE è un taccone provvisorio, non una soluzione.
    Tra qualche anno con 6GB di ram dovremmo per forza di cose usare i 64bit per sfruttarla in modo “ordinario” e corretto. Ora non ha senso.
    “Metti Windows 2003 server enterprise che vede fino a 64GB di RAM”. Per vederla la vede ma un taccone rimane tale.

    Commento di Steno — novembre 24, 2008 @ 1:16 pm

  14. […] 32 o 64 bit? Parte 2 Archiviato in: Intrepid, hardware — telperion @ 8:29 pm Continuiamo con altri test il confronto 32/64 bit. Per i dettagli vi rimando alla prima parte. […]

    Pingback di 32 o 64 bit? Parte 2 « Tecnologia e non solo — novembre 24, 2008 @ 8:29 pm

  15. “Direi che fanno bene le aziende commerciali a non spendere tempo e soldi per realizzare versioni a 64 bit dei loro applicativi, meglio investire per migliorare i 32 bit.”

    a me pare una emerita fesseria! nel 2008 DOVREBBERO investire SOLO nel 64 bit, allora si che funzionerebbe bene!
    E’ come dire se al comparire delle prime auto, si fosse detto “vabbè è una moda per sboroni, il cavallo non si guasta”.
    Si può pensare, certo, ma è come mettere i maroni sul ceppo e tirarsi una martellata da soli e rinnegare il futuro

    Commento di lorenzo — novembre 27, 2008 @ 2:42 pm

  16. @lorenzo
    si come no. In molte aziende ci sono ancora i celeron con win2000 che gira, figurati se comprano pc a 64bit win a 64 bit e ricomprano tutti i software a 64 bit, giusto con l’arietta che tira ora.
    Dove vivi sulla luna?
    Se non ci sono evidenti guadagni prestazionali, diciamo almeno dal 30% in su gran parte delle applicazioni, nessuno spende tanti soldi.

    Commento di telperion — novembre 27, 2008 @ 3:44 pm

  17. La conversione da 16 a 32 bit è stata lenta, dall’uscita dei 386 a Windows 95, e pensare che il 32bit serviva davvero, ricordo gli accrocchi per fare girare Autocad sfruttando la memoria estesa con il DOS 3.3 e una scheda Artist (due giorni di smanettamento con un tecnico del concessionario IBM e viaggio a Milano per recuperare i driver di memoria estesa compatibili).
    Il passaggio a 64bit secondo me è meno urgente e comunque serve solo per impieghi particolari, ma in ogni caso ci sarà… il 64 bit fa figo e poi esce il Fotosciop a 64 bit e tutti lo installeranno crakkato per ritoccare le foto delle vacanze.
    Ciò premesso mi sono comunque installato l’Intrepid a 64bit😉

    Commento di Fanky — novembre 28, 2008 @ 2:46 pm

  18. @Fanky
    io non ho nulla contro il 64Bit ne ho appunto uno installato pure io, sono MOLTO DELUSO dalle prestazioni, mi aspettavo almeno nella compilazione un guadagno del 30% e più che invece non c’è. E se non c’è “boost” significativo, non vedo perchè si dovrebbero comprerare soft a 64bit, visto che le soft-house fanno soft per venderlo non certo per gli “installatori di straforo”.

    Commento di telperion — novembre 28, 2008 @ 3:23 pm

  19. beh io penso che noi (che posso definire appassionati di tecnologia) dovremmo pretendere e lottare per avere tutto a 64 bit e non rinnegarlo. Io, poi, personalmente ne sono entusiasta perchè per le applicazioni che uso io, ho guadagnato un sacco di prestazioni a parità di configurazioni, riesco a elaborare i video in quasi metà tempo. Perciò sinceramente non posso che consigliarlo.

    Commento di lorenzo — dicembre 1, 2008 @ 9:26 pm

  20. @lorenzo
    io non consiglio proprio nulla, ho codificato un x264 per prova e non ho notato “eclatanti” aumenti di velocità con il 64 bit tipo 24 minuti anzichè 30, per cui onestamente me ne resto serenamente col 32 bit.

    Commento di telperion — dicembre 1, 2008 @ 10:55 pm

  21. […] Gentoo Archlinux Archiviato in: hardware — telperion @ 5:18 pm Ancora un test con la consueta metodologia. Questa volta ho eseguito la suite encoding su Ubuntu 8.10 64 e 32 bit, Gentoo ed […]

    Pingback di Ubuntu Gentoo Archlinux « Tecnologia e non solo — dicembre 8, 2008 @ 5:18 pm

  22. Sono passato anche io all’architettura a 64 bit. E’ come avere 2 polmoni ma usarne uno solo con la 32 bit. Che poi questo nuovo polmone adesso non lo riusciamo a sfruttare a pieno, su questo sono pienamente d’accordo. Ora, è quasi una piaga passare al 64 bit, ma se non cominciamo noi utentu desktop, chi lo farà? Ho pagato per un Core 2 duo e adesso lo voglio sfruttare a pieno.

    Commento di ck — dicembre 24, 2008 @ 11:13 am


RSS feed for comments on this post.

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger cliccano Mi Piace per questo: