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


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

Dans quelle mesure est-il important d'avoir des applications 64 bits (en termes de performances)? J'utilise mon ordinateur portable pour différentes choses comme le jeu, le codage, etc.


34
2018-04-15 08:29


origine


Attendez de commencer à jouer à vos anciens jeux préférés avec des programmes d'installation 16 bits. La compatibilité ascendante pour ceux-ci est fournie dans XP64 / 32, Vista32 et 7 32, mais pas dans Vista64 ou 7 64. - Alain
@Alain: Je n'ai jamais été capable de faire tourner les vieux jeux sur mon système d'exploitation 32 bits, ce qui n'est probablement pas une très grosse perte. - apoorv020
Si vous aimez autant Master of Orion II et Populous the Beginning que moi;) Quoi qu’il en soit, Windows Virtual PC + un ancien CD d’installation du système d’exploitation vous permet d’éviter 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-ish. Surtout en travaillant avec de grandes images dans les logiciels Adobe. - Svardskampe
@Alain, car les différents logiciels VM prennent en charge différents niveaux de pilotes audio / vidéo pour les anciens systèmes d'exploitation, même si cela ne fonctionne pas toujours. J'ai eu beaucoup de mal à obtenir Joyaux de l'Oracle II courir. - Synetech


Réponses:


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

L'avantage d'avoir 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 est gourmande en mémoire (comme Photoshop, le rendu 3D, etc.), 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 un par application Ainsi, deux applications peuvent accéder à un total de 4 Go.

² L'exécution d'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 opération.

Sur le plan de la stabilité, il ne devrait y avoir aucune différence entre les applications 64 bits et 32 ​​bits.


30
2018-04-15 08:44



Je pense que mon client DC fait du hachage à une vitesse nettement supérieure. - apoorv020
Cela a du sens si on fait des hachages. Certains d'entre eux peuvent être optimisés sur des largeurs de bits supérieures. - Joshua Nurczyk
Il est également possible de faire des hypothèses sur les capacités du processeur avec x86-64, comme la prise en charge de SSE3. - afrazier
Par défaut, les applications exécutées sur Windows 32 bits auront uniquement accès à 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


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

De plus, les programmes 64 bits fonctionneront "mieux" que les programmes 32 bits car ils utilisent l'architecture du système natif. Les opérations telles que les lectures de mémoire sont exécutées en mode natif, etc. Cela signifie que le système d'exploitation n'a pas à effectuer de travail supplémentaire "de traduction" (conditionnement / déballage de la 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 que les utilisateurs saisissent leurs informations. L'efficacité n'est donc pas nécessairement une préoccupation majeure. En outre, la plupart de ces applications (pour le moment) ne nécessitent pas de mémoire supplémentaire, ce qui leur donnerait accès à 64 bits.

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


9
2018-04-15 08:44



Les pilotes système doivent souvent être 64 bits s'ils ont besoin d'accéder à certains registres de mémoire. Je crois que certes les choses fonctionneront avec les pilotes 32 bits sur un système 64 bits, mais rien d'intense comme une carte graphique - Joshua Nurczyk
@Joshua: Les pilotes du système dépendent vraiment du système d'exploitation et de la machine. Certains processeurs 64 bits n'ont pas de mode, mais seulement des instructions 64 bits. x86_64 a un commutateur de mode coûteux pour passer de 64 à 32 et inversement, donc les pilotes doivent presque toujours être 64 bits. - Zan Lynx
S'il vous plaît expliquer ce que vous entendez par travail "mieux". - glenviewjeff


Oui, vous pouvez exécuter sans problème les applications 32 bits sur votre système d'exploitation 64 bits, MAIS. Il y a un autre problème de gaspillage d'espace - les bibliothèques. Fondamentalement, une application charge 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 celles de 32 bits, et inversement.

Bien sûr, les librairies nécessaires sont généralement livrées avec l'application elle-même, mais celles de base - celles de Windows - sont stockées deux fois - l'une en 32 bits et l'autre en 64 bits.

Ils occupent également plus de mémoire sur la RAM si une application 32 bits et une autre 64 bits sont exécutées simultanément - les deux applications ont chargé leur propre version de la bibliothèque et utilisent donc plus de RAM que si elles utilisaient toutes deux la même bibliothèque.

Donc, pour économiser de la mémoire vive et de l’espace disque dur, essayez d’exécuter et d’installer des applications 64 bits uniquement et d’installer des applications 32 bits uniquement si vous n’avez pas trouvé de version 64 bits. Maintenant, de plus en plus d'applications sont livrées dans les deux versions.


5
2018-04-15 10:05





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'ils font.

Si, par exemple, vous disposez de 16 Go de mémoire et que vous utilisez SQL Server 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 avez 4 Go de mémoire (avec presque 1 Go de données «volées» par la carte vidéo), vous risquez de manquer de mémoire et d’utiliser des applications 64 bits (qui peuvent nécessiter plus de mémoire) peut ralentir votre système.

Même en ignorant les considérations de mémoire, vous ne pouvez pas dire avec certitude qu’une application 32 bits exécutée en mode 64 bits sera plus rapide ou plus lente que l’équivalent 64 bits, que l’application soit plus rapide ou plus lente que sur une version 32 bits. système d'exploitation de -bit.

Personnellement, si je recherche un utilitaire ou une petite application pour ma machine, je vérifierai qu'il fonctionne avec un système d'exploitation 64 bits, mais que l'application soit 32 bits ou 64 bits n'est généralement pas 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, en ignorant Chrome)


4
2018-04-15 18:08





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

Il est ridicule de dire que vous ne bénéficiez pas beaucoup de 64 bits, tout comme il est ridicule de me dire que si vous ajoutez 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 juste un autre exemple d'administrateurs ou de sociétés du réseau informatique avides, où la mise à niveau vers un système 64 bits est généralement gratuite dans la plupart des cas, et pour la RAM, elle est ridiculement chère et améliore la productivité de votre utilisateur.

Donc non, ce n'est pas un must mais devrait être un must. Je n'aime pas les minimalistes en ce qui concerne les 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 quelque chose que vous devez toujours être super "prudent" ... du moins pas autant qu'au moment de sa sortie, c'est certain.

Si le 64 bits posait problème, la plupart des ordinateurs de bureau et des ordinateurs portables ne migreraient pas vers Windows 7 64 bits. Toute notre entreprise met Win 7 Pro 64 bits à la disposition de TOUS les utilisateurs (plus de 100 000 employés).


2
2018-04-15 15:15



Il serait utile que vous expliquiez précisément ce que "roches" à propos de 64 bits. Une explication technique est ce qui est recherché ici. - glenviewjeff
Donc, l'ajout de 4gigs à une machine qui n'occupe jamais plus de mémoire qu'auparavant est logique? Ok, si vous savez que vous l'utiliseriez si elle est disponible, mais sinon c'est simplement inutile. Cela n'a rien à voir avec la gourmandise, mais simplement que vous pouvez investir dans des choses qui pourraient avoir plus de sens. La mise à niveau du processeur 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 tiennent mon installation Arch vraiment bien! 64 bits, cependant, est sth. que vraiment dans la plupart des cas, l'avantage de la FP, c'est juste - larkey


Gardez à l'esprit que sur Windows 64 bits, les applications 32 bits sont exécutées via une couche d'émulation appelée WOW64, qui impose des limitations supplémentaires qui ne sont pas présentes 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 matériel. L'émulation d'instruction est effectuée sur la puce. Sur le processeur x64, les instructions sont exécutées en mode natif par la micro-architecture. Par conséquent, la vitesse d'exécution sous WOW64 sur x64 est similaire à la vitesse sous Windows 32 bits. Sur le processeur Intel Itanium, davantage de logiciels sont impliqués dans l'émulation et les performances s'en ressentent.
  • Thunk overhead API Cette surcharge est faible par rapport à l'appel du noyau NT lui-même. Les fonctions du noyau NT sont destinées à être appelées rarement.
  • Taille de la mémoire virtuelle. Sur le processeur Intel Itanium, WOW64 ajoute une surcharge importante si deux instances ou plus 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 (davantage de pages sont marquées en écriture; toutes les pages inscriptibles sont privées pour le 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 jeu 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 poignées de fenêtre. Toutefois, les applications 32 bits ne peuvent pas créer autant de threads sous WOW64 que possible lorsqu'elles s'exécutent de manière native sur des systèmes x86, car WOW64 alloue une pile 64 bits supplémentaire (généralement 512 Ko) pour chaque thread. En outre, une certaine quantité d'espace d'adressage est réservée à WOW64 lui-même et aux structures de données qu'il utilise. Le montant réservé dépend du processeur; Plus est réservé sur Intel Itanium que sur le processeur x64.


2
2018-04-15 16:32



+0. Quelles sont ces limitations? S'il vous plaît modifier votre réponse et expliquez. - unforgettableid
Creuser des zombies, n'est-ce pas? Cette réponse a presque six ans, tu sais ... - Adam Lawrence
+1. Merci pour votre modification! J'ai essayé de poster un nouvelle variante de la question, mais il a été fermé comme "trop ​​large". Autant que je sache, toutes les versions ouvertes de cette question, partout sur Super User, ont au moins six ans. - unforgettableid


Cela dépend entièrement de l'application. La plupart des applications fonctionnent exactement de la même manière sous forme 32 bits que sous forme 64 bits. Pour les applications où cela est important, vous serez certainement conscient que les versions 32 bits sont limitées et que vous n’auriez pas à poser la question.

Un domaine à prendre en compte est quand une application a une version 64 bits avec un support tiers faible. Je pense à Excel 2010 qui est disponible sous forme 64 bits. Excel 64 lui-même fonctionne parfaitement, mais peu d'extensions et de modules complémentaires tiers ont été portés. Comme autre exemple, considérons Python sous Windows. Là encore, 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 prudent avec la version 32 bits.


0
2018-04-15 15:12