Quelle est l'importance d'avoir des programmes 64 bits sur un système d'exploitation 64 bits?

40

J'ai récemment mis à niveau un système d'exploitation 64 bits (Windows 7) à partir de mon ancienne version 32 bits. J'ai remarqué que, si plusieurs applications sont disponibles en 64 bits (par exemple, le client DC, Tortoise SVN, le pilote graphique), beaucoup sont encore des applications 32 bits (par exemple, firefox, adobe reader).

Alors, à quel point est-il important d’avoir des applications 64 bits (en termes de performances)? J'utilise mon ordinateur portable pour différentes choses comme les jeux, le codage, etc.

apoorv020
la source
1
Attendez simplement que vous commenciez à vouloir jouer à vos vieux jeux préférés avec des installateurs 16 bits. La compatibilité avec les versions antérieures est fournie avec XP64 / 32, Vista32 et 7 32, mais pas avec Vista64 ou 7 64.
Alain
1
@Alain: De toute façon, je n'ai jamais réussi à faire fonctionner de vieux jeux sur mon système d'exploitation 32 bits, alors ce n'est probablement pas une très grosse perte.
apoorv020
1
C’est le cas si vous aimez autant que moi Master of Orion II et Populous the Beginning;) Quoi qu’il en soit, Windows Virtual PC + un ancien CD d’installation de système d’exploitation fait le tour et vous évite le double démarrage.
Alain
La plus grande amélioration que j'ai remarquée du point de vue de l'utilisateur est la possibilité de charger des fichiers plus volumineux que 2 Go. Travailler surtout avec de grandes images dans le logiciel Adobe.
Svardskampe
@Alain, parce que les différents logiciels de machine virtuelle prennent en charge différents niveaux de pilotes audio / vidéo pour les anciens systèmes d'exploitation, même si cela ne fonctionnera pas toujours. J'ai passé une sacrée période à lancer Jewels of the Oracle II .
Synetech

Réponses:

35

Je ne pense pas que ce soit si important d'avoir des applications 64 bits en soi.

L’avantage d’une application 64 bits est qu’elle peut:

  • Accédez à beaucoup plus de mémoire¹
  • Effectuer des opérations de registre 64 bits.²

¹ Un programme 64 bits peut être un peu plus rapide (selon son fonctionnement). Si votre application a besoin de beaucoup de mémoire (Photoshop, rendu 3D, etc.), le fait de disposer d'une version 64 bits lui donnera accès à toute la mémoire de l'ordinateur. Sans cela, il sera limité à environ 2 Go. C'est sur une base par application , donc deux applications peuvent accéder à un total de 4 Go.

² Effectuer une opération 64 bits sur un système d'exploitation 64 bits est plus rapide que sur un système d'exploitation 32 bits - il faudrait au moins 2 opérations 32 bits pour effectuer la même chose.

En termes de stabilité, il ne devrait y avoir aucune différence entre les applications 64 bits et 32 ​​bits.

Majenko
la source
Je pense que mon client DC effectue le hachage de fichiers à une vitesse nettement améliorée.
apoorv020
Cela a du sens si on fait des hashes. Certains peuvent être optimisés pour des largeurs de bits plus élevées.
Joshua Nurczyk
Il est également possible de faire des hypothèses sur les capacités du processeur avec x86-64, comme prendre en charge SSE3.
Afrazier
4
Par défaut, les applications fonctionnant sous Windows 32 bits n'auront accès qu'à 2 Go de mémoire. Le système d'exploitation dans son ensemble a accès à un peu plus de 3 Go au total pour être partagé par toutes les applications.
Michael Steele
@ Michael Steele a raison. La mémoire maximale disponible pour le système est généralement de 3,12 Go, le reste est réservé à l'adressage du matériel. Pour un compte plus détaillé, voir ici: support.microsoft.com/kb/929605
Steven Evers
10

Le principal avantage de l'utilisation d'une application 64 bits sur un système d'exploitation 64 bits est que vous disposez d'un accès complet à toute la mémoire disponible sur le système. Avec des adresses de mémoire de 64 bits, l’application peut accéder à plus de mémoire que son équivalent de 32 bits.

De plus, les programmes 64 bits fonctionneront "mieux" que ceux 32 bits car ils utilisent l'architecture système native. Les opérations telles que les lectures de mémoire sont effectuées de manière native, etc. Cela signifie que le système d'exploitation n'a pas à faire de travail de "traduction" (compression / décompression de mémoire, etc.) des commandes utilisées par l'application.

Cependant, la plupart des programmes (tels que Firefox, Word, Adobe Reader, etc.) passent le plus clair de leur temps à attendre l'intervention de l'utilisateur. L'efficacité n'est donc pas une préoccupation majeure. De plus, la plupart de ces applications (pour le moment) ne requièrent pas la mémoire supplémentaire à laquelle l'accès en 64 bits leur donnerait accès.

Des programmes tels que les pilotes graphiques doivent fonctionner efficacement et avoir peut-être accès à des registres de mémoire plus importants et doivent donc être au format 64 bits.

ChrisF
la source
1
Les pilotes système doivent être au format 64 bits dans bien des cas s'ils ont besoin d'accéder à certains registres de mémoire. Je pense que certaines choses fonctionneront avec les pilotes 32 bits sur un système 64 bits, mais rien de plus intensif qu'une carte graphique
Joshua Nurczyk
1
@Joshua: les pilotes système dépendent vraiment du système d'exploitation et de l'arch. Certains processeurs 64 bits n'ont pas de mode, ils ont simplement ajouté des instructions 64 bits. x86_64 est doté d’un commutateur de mode coûteux permettant de passer de 64 à 32, de sorte que les pilotes doivent presque toujours être en 64 bits.
Zan Lynx
S'il vous plaît expliquer ce que vous entendez par travail "mieux".
Glenviewjeff
5

Oui, vous pouvez exécuter sans problème les applications 32 bits de votre système d'exploitation 64 bits, MAIS. Il y a un autre problème de gaspillage d'espace - les bibliothèques. En gros, une application chargerait la bibliothèque appropriée dont elle a besoin, mais le problème est que les bibliothèques 64 bits ne sont pas compatibles avec les 32 bits, et inversement.

Bien entendu, les bibliothèques nécessaires sont livrées avec l'application elle-même, mais celles de base - celles de Windows - sont stockées deux fois - l'une d'entre elles - la version 32 bits et l'autre - la version 64 bits.

Elles occupent également plus de mémoire RAM si vous avez une application 32 bits et une autre 64 bits s'exécutant simultanément: les deux applications ont chargé leur propre version de bibliothèque. Elles utilisent donc plus de RAM qu'elles ne le pourraient si elles utilisaient toutes les deux la même bibliothèque.

Par conséquent, pour économiser de la RAM et du disque dur, essayez d’exécuter et d’installer des applications 64 bits uniquement, et d’installer des applications 32 bits uniquement si vous ne pouvez pas trouver une version 64 bits. Maintenant, de plus en plus d'applications sont livrées dans les deux versions.

Evengard
la source
4

La réponse est "ça dépend"

Certaines «applications» 32 bits ne fonctionneront pas en mode 64 bits, par exemple les pilotes graphiques et les extensions de shell (tels que Tortoise SVN). Dans ce cas, vous avez besoin d'une version 64 bits.

Pour d'autres applications normales, cela dépend de ce qu'elles font.

Par exemple, si vous disposez de 16 Go de mémoire et que vous utilisez un serveur SQL avec une base de données extrêmement volumineuse, il est très important d’avoir une version 64 bits de SQL.

Si, toutefois, vous disposez de 4 Go de mémoire (dont près de 1 Go "volé" par la carte vidéo), il est possible que vous manquiez de mémoire et que vous utilisiez des applications 64 bits (ce qui pourrait nécessiter davantage de mémoire) risquerait de ralentir votre système.

Même en ignorant les considérations de mémoire, vous ne pouvez pas affirmer avec certitude qu'une application 32 bits s'exécutant en mode 64 bits sera plus rapide ou plus lente que son équivalent en 64 bits, ni si l'application sera plus rapide ou plus lente que lorsqu'elle est exécutée sur un ordinateur 32 bits. système d'exploitation à bits.

Personnellement, si je cherche un utilitaire ou une petite application pour ma machine, je vérifierai que cela fonctionne avec un système d'exploitation 64 bits, mais que l'application soit 32 bits ou 64 bits ne figure pas normalement en haut de ma liste de priorités .

Selon Process Explorer, j'ai actuellement 25 processus 64 bits et 28 processus 32 bits en cours d'exécution, ignorant Chrome).

sgmoore
la source
3

N'oubliez pas que sous Windows 64 bits, les applications 32 bits sont exécutées via une couche d'émulation appelée WOW64 , qui impose certaines limitations supplémentaires qui n'existent pas lors de l'exécution sous un système d'exploitation Windows 32 bits.

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

Performances et consommation de mémoire sous WOW64

  • Processeur. L'émulation d'instruction est effectuée sur la puce. Sur le processeur x64, les instructions sont exécutées de manière native par la micro-architecture. Par conséquent, la vitesse d'exécution sous WOW64 sur x64 est similaire à sa vitesse sous Windows 32 bits. Sur le processeur Intel Itanium, davantage de logiciels sont impliqués dans l'émulation, ce qui nuit aux performances.
  • Thunk API frais généraux. Cette surcharge est minime comparée à l’appel du noyau NT lui-même. Les fonctions du noyau NT sont appelées rarement.
  • Taille de la mémoire virtuelle. Sur le processeur Intel Itanium, WOW64 ajoute une surcharge considérable si plusieurs instances de la même application 32 bits s'exécutent simultanément. Cela est dû aux pages natives de 8 Ko sur Intel Itanium, ce qui complique l’émulation des pages natives de 4 Ko sur l’architecture x86 (plus de pages sont marquées en écriture, toutes les pages en écriture sont privées du processus). Cela peut nuire à l'évolutivité des services Terminal Server sur certains processeurs. Ce n'est pas le cas pour le processeur x64.
  • Ensemble de travail. WOW64 augmente la taille du groupe de travail de l'application.

  • WOW64 permet aux applications 32 bits de tirer parti du noyau 64 bits. Par conséquent, les applications 32 bits peuvent utiliser un plus grand nombre de descripteurs de noyau et de descripteurs de fenêtre. Toutefois, les applications 32 bits peuvent ne pas être en mesure de créer autant de threads sous WOW64 que lors de leur exécution native sur des systèmes x86, car WOW64 alloue une pile 64 bits supplémentaire (généralement 512 Ko) pour chaque thread. De plus, une certaine quantité d’espace d’adresse est réservée à WOW64 et aux structures de données qu’il utilise. Le montant réservé dépend du processeur. plus est réservé sur le processeur Intel Itanium que sur le processeur x64.

Adam Lawrence
la source
+0. Quelles sont ces limitations? Veuillez éditer votre réponse et expliquer.
Inoubliable
Creuser pour les zombies, sommes-nous? Cette réponse a presque six ans, vous savez ...
Adam Lawrence
+1 Merci pour votre modification! J'ai essayé de poster une variante plus récente de la question, mais celle-ci a été classée comme "trop ​​large". Autant que je sache, toutes les versions ouvertes de cette question, partout sur Super User, ont au moins six ans.
Inoubliable
1

Ne permet pas de couper ce court. Roches 64 bits. Si vous pouvez l'obtenir, utilisez-le. Visual Studio, SQL Server (même en utilisant seulement Management Studio) bénéficient tous d’une version 64 bits en cours d’exécution. Vous ne pouvez pas dire que ça n'en vaut pas la peine. Non, ce n'est pas une nécessité, mais nous devrions chercher à améliorer la vitesse sur les ordinateurs portables et les ordinateurs portables des développeurs et des autres utilisateurs (même les non-initiés qui utilisent un simple MS Word). Pourquoi ne pas en profiter, promouvoir et parler en 64 bits dans votre entreprise? Ce n'est vraiment plus si nouveau… ça devient ou a été banal.

C'est ridicule de dire que vous ne tirez pas grand profit de la version 64 bits, tout comme il est ridicule de me dire que l'ajout de 4 concerts pour compléter un total de 8 concerts sur n'importe quel ordinateur portable, tout utilisateur n'en vaut pas la peine. C’est là un autre exemple d’administrateurs informatiques ou d’administrateurs de réseaux informatiques gloutons dans lesquels la mise à niveau vers une version 64 bits est généralement gratuite et dans la plupart des cas gratuite pour la RAM, ce qui est ridiculement peu coûteux et améliore la productivité de vos utilisateurs.

Donc non, ce n'est pas un must mais devrait l'être. Je n'aime pas les minimalistes en ce qui concerne des outils tels que les ordinateurs de bureau et les ordinateurs portables.

Je ne suis vraiment pas d'accord quand les gens disent que les applications 64 bits sont une chose avec laquelle il faut toujours être très «prudent» avec… du moins pas autant que lors de sa sortie, c'est certain.

Si le 64-bit était un tel problème, la plupart des ordinateurs de bureau et des ordinateurs portables actuels ne migreraient pas vers la version 64-bit Win 7. Toute notre société propose Win 7 Pro 64-bit à TOUS les utilisateurs (plus de 100 000 employés).

WeDoTDD.com
la source
Il serait utile que vous expliquiez précisément ce qui "bouge" avec 64 bits. Une explication technique est ce qui est recherché ici.
Glenviewjeff
Donc, ajouter 4gigs à une machine qui n'a jamais occupé plus de mémoire qu'avant a du sens? Ok, si vous savez que vous l'utiliseriez s'il était disponible, mais sinon c'est tout simplement inutile. Cela n'a rien à voir avec la gourmandise, mais simplement le fait que vous pouvez investir dans des activités plus sensées. La mise à niveau de la CPU apportera dans presque tous les cas des avantages. Ne pas dire que beaucoup de RAM est une mauvaise chose (j'ai moi-même 16 Go) mais je ne voudrais pas mettre à niveau mon ancien ordinateur portable à 8 Go car les 4 Go maintiennent très bien mon installation Arch! 64bit, cependant, c'est qch. c'est vraiment dans la plupart des cas un avantage, c'est vrai
larkey
0

Cela dépend entièrement de l'application. La plupart des applications fonctionnent exactement de la même manière en 32 bits qu'en 64 bits. Pour les applications où cela compte vraiment, vous saurez certainement que les versions 32 bits sont limitées et qu'il n'est pas nécessaire de poser la question.

Un aspect à prendre en compte est le moment où une application possède une version 64 bits avec un support tiers médiocre. Je pense à Excel 2010 qui est disponible au format 64 bits. Excel 64 lui-même fonctionne parfaitement bien, mais peu d’extensions et d’add-ons tiers ont été portés. Comme autre exemple, considérons Python sous Windows. Encore une fois, un certain nombre de modules non essentiels importants ne sont pas disponibles ou difficiles à obtenir sous forme 64 bits.

Donc, à moins que vous ayez vraiment besoin de 64 bits pour l’application en question, vous pouvez souvent être plus en sécurité avec la version 32 bits.

David Heffernan
la source