Quanto è importante avere programmi a 64 bit sul sistema operativo a 64 bit?


40

Di recente ho eseguito l'aggiornamento al sistema operativo a 64 bit (Windows 7) dalla mia vecchia versione a 32 bit. Ho notato che mentre diverse applicazioni sono disponibili a 64 bit (ad esempio client DC, Tortoise SVN, driver di grafica), molte sono ancora applicazioni a 32 bit (ad esempio Firefox, Adobe Reader).

Quindi, quanto è importante avere applicazioni a 64 bit (per quanto riguarda le prestazioni)? Uso il mio laptop per molte cose diverse come giochi, programmazione ecc.


1
Aspetta di iniziare a voler giocare ai tuoi vecchi giochi preferiti con programmi di installazione a 16 bit. La compatibilità con le versioni precedenti è fornita in XP64 / 32, Vista32 e 7 32, ma non Vista64 o 7 64.
Alain,

1
@Alain: Non sono mai stato in grado di far funzionare vecchi giochi sul mio sistema operativo a 32 bit, quindi probabilmente non è una perdita molto grande.
apoorv020,

1
È se ami Master of Orion II e Populous the Beginning tanto quanto me;) Comunque, Windows Virtual PC + un vecchio CD di installazione del sistema operativo fa il trucco e ti salva dal doppio avvio.
Alain,

Il più grande miglioramento che ho notato dal punto di vista dell'utente è la capacità di caricare file più grandi di 2 GB-ish. Soprattutto lavorando con immagini di grandi dimensioni nel software Adobe.
Svardskampe,

@Alain, perché i vari software VM hanno livelli variabili di supporto per driver audio / video per vecchi sistemi operativi, anche se non sempre funzionerà. Ho avuto un sacco di tempo per far funzionare Jewels of the Oracle II .
Synetech,

Risposte:


35

Non penso che sia così importante avere applicazioni a 64 bit in sé.

Il vantaggio di avere un'applicazione a 64 bit è che può:

  • Accedi a molta più memoria¹
  • Eseguire le operazioni del registro a 64 bit.²

¹ Un programma a 64 bit potrebbe essere un po 'più veloce (a seconda di come funziona). Se la tua applicazione ha molta memoria (come Photoshop, rendering 3D, ecc.), Avere una versione a 64 bit ti darà accesso a tutta la memoria del computer. Senza questo sarà limitato a circa 2 GB. Questo è su una base per applicazione , quindi due applicazioni possono accedere a un totale di 4 GB.

² Eseguire un'operazione a 64 bit su un sistema operativo a 64 bit è più veloce di eseguirla su un sistema operativo a 32 bit: occorrerebbero almeno 2 operazioni a 32 bit per eseguire la stessa cosa.

Per quanto riguarda la stabilità, non dovrebbero esserci differenze tra le applicazioni a 64 e 32 bit.


Penso che il mio client DC esegua l'hash dei file a una velocità molto migliorata ora.
apoorv020,

Questo ha senso se sta facendo hash. Alcuni di questi possono essere ottimizzati su larghezze di bit più elevate.
Joshua Nurczyk,

È anche possibile fare ipotesi sulle capacità della CPU con x86-64, come supportare SSE3.
Afrazier

4
Per impostazione predefinita, le applicazioni in esecuzione su Windows a 32 bit avranno accesso solo a 2 GB di memoria. Il sistema operativo nel suo insieme ha accesso a poco più di 3 GB in totale da condividere con tutte le applicazioni.
Michael Steele,

@Michael Steele ha ragione. La memoria massima disponibile per il sistema è in genere 3,12 GB, il resto è riservato all'hardware dell'indirizzo. Per un account più dettagliato, consultare qui: support.microsoft.com/kb/929605
Steven Evers,

10

Il principale vantaggio derivante dall'utilizzo di un'applicazione a 64 bit su un sistema operativo a 64 bit è che si ha pieno accesso a tutta la memoria disponibile sul sistema. Con indirizzi di memoria a 64 bit l'applicazione può accedere a più memoria rispetto al suo equivalente a 32 bit.

Inoltre i programmi a 64 bit funzioneranno "meglio" di quelli a 32 bit poiché utilizzano l'architettura di sistema nativa. Operazioni come le letture della memoria vengono eseguite in modo nativo, ecc. Ciò significa che il sistema operativo non deve svolgere alcun lavoro aggiuntivo di "traduzione" (impacchettamento / disimballaggio della memoria, ecc.) Dei comandi utilizzati dall'applicazione.

Tuttavia, la maggior parte dei programmi - come Firefox, Word, Adobe Reader ecc. - trascorre la maggior parte del tempo in attesa dell'input dell'utente, quindi l'efficienza non è necessariamente una delle preoccupazioni principali. Inoltre, la maggior parte di queste applicazioni (al momento) non richiede la memoria aggiuntiva a cui accedere a 64 bit consentirebbe loro di accedere.

Programmi come i driver grafici devono funzionare in modo efficiente e forse avere accesso a registri di memoria più alti e quindi devono essere a 64 bit.


1
I driver di sistema devono essere a 64 bit in molti casi se devono accedere a determinati registri di memoria. Credo che le cose di Certan funzioneranno con i driver a 32 bit su un sistema a 64 bit, ma nulla di intensivo come una scheda grafica
Joshua Nurczyk,

1
@Joshua: i driver di sistema dipendono molto dal sistema operativo e dall'arco della macchina. Alcune CPU a 64 bit non dispongono di modalità, hanno appena aggiunto istruzioni a 64 bit. x86_64 ha un costoso selettore di modalità per passare da 64 a 32 e viceversa, quindi i driver devono quasi sempre essere a 64 bit.
Zan Lynx,

Per favore, spiega cosa intendi per lavoro "migliore".
glenviewjeff,

5

Sì, puoi eseguire senza problemi le app a 32 bit sul tuo sistema operativo a 64 bit, MA. C'è un altro problema di spreco di spazio: le biblioteche. Fondamentalmente un'app carica la libreria appropriata di cui ha bisogno, ma il problema è che le librerie a 64 bit non sono compatibili con quelle a 32 bit e viceversa.

Naturalmente di solito le librerie necessarie vengono fornite con l'applicazione stessa, ma quelle principali - quelle di Windows - vengono memorizzate due volte: una - quella a 32 bit e l'altra - quella a 64 bit.

Occupano anche più memoria su RAM se si dispone di un'applicazione a 32 bit e di un'altra a 64 bit in esecuzione contemporaneamente: le due app hanno caricato la propria versione della libreria e quindi utilizzano più RAM di quanto potrebbero se entrambi stessero utilizzando la stessa libreria.

Quindi, per risparmiare spazio su RAM e disco rigido, prova a eseguire e installare app solo a 64 bit e installa quelle a 32 bit solo se non riesci a trovare una versione a 64 bit. Ora, sempre più app vengono spedite in entrambe le versioni.


4

La risposta è, dipende"

Alcune "applicazioni" a 32 bit non funzioneranno in modalità 64 bit, ad esempio driver di grafica ed estensioni della shell (come Tortoise SVN). In tal caso, è necessaria una versione a 64 bit.

Per altre normali applicazioni, dipende da cosa fanno.

Se, ad esempio, hai 16 GB di memoria e stai eseguendo SQL Server con un database estremamente grande, avere una versione a 64 bit di SQL è molto importante.

Se, tuttavia, hai 4 GB di memoria (con quasi 1 GB 'rubato' dalla scheda video), allora potresti avere poca memoria e utilizzare applicazioni a 64 bit (che potrebbero richiedere più memoria) potrebbe effettivamente rallentare il tuo sistema.

Anche ignorando le considerazioni sulla memoria, non si può dire con certezza che un'applicazione a 32 bit in esecuzione in modalità 64 bit sarà più veloce o più lenta dell'equivalente a 64 bit, né se l'applicazione sarà più veloce o più lenta di quando si esegue su un 32 -bit sistema operativo.

Personalmente, se sto cercando un'utilità o una piccola applicazione per la mia macchina, controllerò che funzioni con il sistema operativo a 64 bit, ma se l'applicazione è a 32 o 64 bit non è normalmente in cima alla mia lista di priorità .

Secondo Process Explorer, attualmente ho 25 processi a 64 bit e 28 processi a 32 bit in esecuzione, ignorando Chrome)


3

Tenere presente che su Windows a 64 bit, le applicazioni a 32 bit vengono eseguite tramite un livello di emulazione noto come WOW64 , che impone alcune limitazioni aggiuntive non presenti durante l'esecuzione su un sistema operativo Windows a 32 bit.

Da https://msdn.microsoft.com/en-us/library/aa384219(v=vs.85).aspx :

Consumo di prestazioni e memoria in WOW64

  • Hardware del processore. L'emulazione dell'istruzione viene eseguita sul chip. Sul processore x64, le istruzioni vengono eseguite in modo nativo dalla microarchitettura. Pertanto, la velocità di esecuzione in WOW64 su x64 è simile alla sua velocità in Windows a 32 bit. Sul processore Intel Itanium, nell'emulazione sono coinvolti più software e, di conseguenza, le prestazioni ne risentono.
  • API thunk overhead. Questo sovraccarico è piccolo rispetto alla stessa chiamata del kernel NT. Le funzioni del kernel NT devono essere chiamate di rado.
  • Dimensione della memoria virtuale. Sul processore Intel Itanium, WOW64 aggiunge un notevole sovraccarico se due o più istanze della stessa applicazione a 32 bit sono in esecuzione contemporaneamente. Ciò è dovuto alle pagine native da 8 KB su Intel Itanium, che complica l'emulazione delle pagine native da 4 KB sull'architettura x86 (più pagine sono contrassegnate come scrivibili; tutte le pagine scrivibili sono private del processo). Ciò può influire negativamente sulla scalabilità dei Servizi terminal su determinati processori. Questo non è il caso del processore x64.
  • Set di lavoro. WOW64 aumenta le dimensioni del set di lavoro dell'applicazione.

  • WOW64 consente alle applicazioni a 32 bit di sfruttare il kernel a 64 bit. Pertanto, le applicazioni a 32 bit possono utilizzare un numero maggiore di handle di kernel e handle di finestre. Tuttavia, le applicazioni a 32 bit potrebbero non essere in grado di creare il maggior numero di thread in WOW64 possibile quando sono in esecuzione nativamente su sistemi basati su x86 perché WOW64 alloca uno stack aggiuntivo a 64 bit (in genere 512 KB) per ciascun thread. Inoltre, una parte dello spazio degli indirizzi è riservata a WOW64 stesso e alle strutture dati che utilizza. L'importo riservato dipende dal processore; più è riservato su Intel Itanium che sul processore x64.


+0. Quali sono queste limitazioni? Si prega di modificare la tua risposta e spiegare.
indimenticabile il

Stiamo cercando zombi, vero? Questa risposta ha quasi sei anni, sai ...
Adam Lawrence,

+1. Grazie per la tua modifica! Ho provato a pubblicare una variante più recente della domanda, ma è stata chiusa come "troppo ampia". Per quanto ne so, tutte le versioni aperte di questa domanda, ovunque su Super User, hanno almeno sei anni.
indimenticabile il

1

Non tagliamo così corto. Rocce a 64 bit. Se riesci a ottenerlo, usalo. Visual Studio, SQL Server (anche solo usando solo Management Studio) beneficiano tutti di una versione a 64 bit. Non si può dire che non ne valga la pena. No, non è una necessità, ma dovremmo cercare di migliorare la velocità su notebook e laptop di sviluppatori e altri utenti (anche non esperti che utilizzano semplici MS Word). Perché non approfittare, promuovere e parlare a 64 bit nella tua azienda? Non è più così nuovo ... sta diventando o è diventato un luogo comune.

È ridicolo dire che non si beneficia molto del 64-bit proprio come è ridicolo dirmi che aggiungendo 4 concerti per completare un totale di 8 concerti su qualsiasi laptop, nessun utente non ne vale la pena. Questo è solo un altro esempio di amministratori o aziende avidi della rete IT in cui l'aggiornamento a 64 bit è in genere gratuito nella maggior parte dei casi e quindi per la RAM è ridicolmente economico e migliora la produttività dell'utente due volte.

Quindi no non è un must ma dovrebbe essere un must. Non mi piacciono i minimalisti quando si tratta di strumenti come desktop e laptop.

Non sono davvero d'accordo quando le persone dicono che le app a 64 bit sono qualcosa con cui devi ancora essere "attento" ... almeno non tanto quanto quando è uscito per la prima volta, questo è certo.

Se il 64-bit fosse un tale problema, la maggior parte dei desktop e laptop in questi giorni non migrerebbe a 64-bit Win 7. La nostra intera azienda sta distribuendo Win 7 Pro 64-bit a TUTTI gli utenti (oltre 100,00 dipendenti)


Sarebbe utile se potessi spiegare in particolare cosa "oscilla" a 64 bit. Una spiegazione tecnica è ciò che si cerca qui.
glenviewjeff,

Quindi, aggiungere 4 GB a una macchina che non ha mai occupato più memoria di prima ha senso? Ok, se sai che lo useresti se è disponibile, ma altrimenti non è necessario. Questo non ha nulla a che fare con l'avidità, ma solo che puoi investire in cose che potrebbero avere più senso. L'aggiornamento della CPU porterà in ogni caso dei vantaggi. Non dire che molta RAM è una brutta cosa (ho 16 GB), ma non aggiornerei il mio vecchio laptop a 8 GB poiché i 4 GB tengono davvero bene la mia installazione Arch! 64 bit, tuttavia, è sth. che nella maggior parte dei casi è davvero un vantaggio,
esatto

0

Dipende interamente dall'applicazione. La maggior parte delle applicazioni funzionano esattamente allo stesso modo in formato 32 bit e in formato 64 bit. Per le applicazioni in cui conta, quasi sicuramente sarai consapevole del fatto che le versioni a 32 bit sono limitate e non è necessario porre la domanda.

Un'area di cui prestare attenzione è quando un'applicazione ha una versione a 64 bit con un supporto di terze parti scadente. Sto pensando a Excel 2010, disponibile in forma a 64 bit. Excel 64 funziona perfettamente, ma poche estensioni e componenti aggiuntivi di terze parti sono stati ancora portati. Come altro esempio, considera Python su Windows. Ancora una volta, alcuni importanti moduli non core non sono disponibili o difficili da ottenere in forma di 64 bit.

Quindi, a meno che tu non abbia davvero bisogno disperatamente di 64 bit per l'applicazione in questione, spesso puoi rimanere più sicuro con la versione a 32 bit.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.