Ragioni per la macchina di sviluppo a 32 o 64 bit

4

Sto per creare una nuova installazione di Linux, che verrà principalmente utilizzata per la programmazione. Ho visto i benchmark che mostrano il miglioramento della velocità della versione a 64 bit, tuttavia, ho difficile capire quanto questi parametri di riferimento si traducano in miglioramenti nell'utilizzo quotidiano. E naturalmente ci sono altri aspetti da considerare.

Utilizzo che ho in mente:

Quali sono i pro e i contro della scelta della distro i386 o x86_64?

    
posta vartec 01.06.2012 - 11:16
fonte

3 risposte

8

Nelle distribuzioni mainstream basate su Linux, la versione di amd64 è completamente alla pari con quella di x86, quindi, per quanto riguarda la disponibilità del software, non c'è niente da temere in entrambi i casi (a parte alcuni oscuri specifici della piattaforma). Inoltre, è possibile, anche se con qualche hacking grave, per eseguire codice a 32 bit su un kernel a 64 bit, quindi se è assolutamente necessario, ci sono probabilmente dei modi per farlo. E se tutto il resto fallisce, puoi sempre installare una macchina virtuale a 32 bit da compilare per quella particolare architettura.

Per quanto riguarda le prestazioni della CPU, non c'è molta differenza in entrambi i casi: alcune applicazioni traggono vantaggio dalle operazioni a 64 bit (in genere, queste sono applicazioni che devono gestire interi di grandi dimensioni e simili); altri non ottengono alcun beneficio e potrebbero persino eseguire un po 'più veloce su un kernel a 32 bit, specialmente se devono gestire molti interi o puntatori a dimensione nativa (che occupano il doppio dello spazio su un 64 bit) la piattaforma).

Tuttavia, se vuoi utilizzare più di 4 GB di RAM, i kernel a 32 bit comportano una vera penalizzazione delle prestazioni, perché devi utilizzare PAE per farlo accadere.

Come regola generale, in questi giorni direi andare con 64 bit, a meno che non ci siano forti motivi per non farlo, in particolare:

  • stai utilizzando librerie a 32 bit che non puoi ricompilare su una piattaforma a 64 bit (ad esempio perché non hai i sorgenti)
  • devi utilizzare un pacchetto dalla tua distribuzione che non è incluso nella distribuzione a 64 bit e non può essere installato da altre fonti attendibili
  • sei a corto di RAM fisica (molti programmi usano meno RAM su sistemi a 32 bit e "short on RAM" significa invariabilmente "meno di 4 GB")
  • stai codificando per sistemi di produzione a 32 bit (vuoi eliminare quante più differenze possibili, ad esempio, la funzione ip2long di PHP ha un pungente trucco che si mostra solo sui sistemi a 32 bit)
risposta data 01.06.2012 - 12:16
fonte
0

Posso solo pensare a due ragioni contro un sistema a 64 bit:

  1. Hai un codice legacy o una libreria di terze parti che non si compila su una piattaforma a 64 bit.

  2. Le tue piattaforme di destinazione sono principalmente sistemi a 32 bit e vuoi assicurarti che l'applicazione funzioni senza problemi oltre i limiti di memoria da 4 GB o di compilazione.

D'altra parte, non riesco a pensare a molte ragioni per 64-bit, a parte il solito "più veloce e più memoria" pubblicizzato che (nella maggior parte dei casi) non è tutto ciò che è rilevante per il lavoro di sviluppo quotidiano. Questo, tuttavia, potrebbe cambiare nel corso degli anni (e potrebbe già esserlo e non l'ho notato) una volta che le piattaforme a 32 bit si stanno estinguendo e gli sviluppatori di librerie di terze parti e altre applicazioni stanno eliminando il supporto a 32 bit. / p>

Alla fine, non penso che ci sia alcun danno nell'usare un sistema operativo a 64-bit su un sistema operativo a 32-bit.

    
risposta data 01.06.2012 - 12:06
fonte
-2

32 bit limita a 4 GB, mentre 64 bit no. Oltre a questo, non dovrebbe infastidirti più di tanto.

Anche i 64 bit di solito hanno un sovraccarico di memoria in più poiché i puntatori di memoria usano 64 bit anziché 32 bit, quindi i programmi a 64 bit tendono a consumare più memoria.

Per quanto riguarda il software, in genere ottieni tutto ciò di cui hai bisogno su entrambi. Solo per le vecchie risorse legacy hardware non supportate, potresti incorrere in sorprese.

    
risposta data 01.06.2012 - 11:31
fonte

Leggi altre domande sui tag