Disques SSD et IDE Visual Studio. De grandes améliorations? De vraies histoires d'utilisation, pas de théorie

92

Je souhaite opter pour des disques SSD Windows 7 + Intel pour accélérer mon cycle de développement Visual Studio 2008.

Les domaines que je souhaite accélérer sont:

  • Temps de compilation / construction
  • Ouverture de fichiers pour winforms / webforms
  • "Sluggishnes" de Visual Studio pour Windows et le Web

Je ne suis pas intéressé par le temps de démarrage de Visual Studio. Le coût par Go n'est pas non plus un problème. Je veux de la vitesse.

Quelqu'un a-t-il déjà essayé cela ( lecteur SSD + Visual Studio ) et que pouvez-vous dire sur les accélérations / ralentissements?

Je connais la théorie sur les SSD, mais généralement la preuve du pudding est de manger. Je m'intéresse donc aux personnes qui ont réellement essayé et testé une configuration Visual Studio avec SSD ...

Julian de Wit
la source
Cela vaut probablement la peine de demander cela sur serverfault.com. Voir blog.stackoverflow.com/2009/04/server-fault-private-beta-begins pour plus de détails.
Matthew Murdoch
2
Je pensais que c'était plus une question de programmation, mais je l'ai certainement considéré. Cependant, je ne voulais pas de benchmarks mais une vraie expérience VS2008
Julian de Wit
C'est suffisant. Je vous suggérais de le poser là aussi (bien que cela puisse déclencher une guerre des flammes ...!).
Matthew Murdoch
Wow, il est intéressant de trouver une question plus ancienne que Server Fault sortant de la version bêta. Je cherchais des avantages pour 2016 (VS c'est 80 concerts bizarres seul et mon futur SSD de 128 Go peut ne pas convenir à la fois à Windows et à VS ...)
Paul Stelian

Réponses:

80

J'ai des données concrètes pour Visual C # 2008. La version courte est qu'il vaut mieux dépenser votre argent sur un processeur plus rapide que des E / S plus rapides . Une réponse plus longue suit ...

Notre solution C # (.NET 3.5) contient 81 projets avec plus de 2 millions de lignes de code (y compris les commentaires et les lignes vides). Il y a quelques années, nous sommes passés des PC Pentium 4 3 GHz avec disques durs standard aux PC Core 2 Duo 2,6 GHz avec disques durs WD Raptor 10 000 tr / min (74 Go). L'accélération était immense. Environ 10 minutes jusqu'à 3,5 minutes. Tout cela dans un environnement Windows XP Pro 32 bits avec 4 Go de RAM.

Nous avons également un Gigabyte i-RAM (google pour plus d'informations), qui est essentiellement un disque dur RAM avec batterie de secours. Contrairement à un SSD qui est rapide pour la lecture mais plus lent pour l'écriture, l'i-RAM est rapide pour les deux, mais si vous perdez de l'énergie, la batterie ne dure que 12 heures environ, vous devez donc être discipliné avec vos enregistrements. Cela a réduit une minute supplémentaire de temps de compilation sur la plate-forme Core 2 Dou (jusqu'à 2,5 minutes) par rapport au disque dur Raptor à 10 000 tr / min.

Depuis, j'ai découvert que ces vieux disques Raptor de 74 Go à 10000 tr / min sont légèrement plus lents que votre variateur de jardin à 7200 tr / min et nous avons prouvé que des comparaisons constantes se compilaient. Nous n'avons pas essayé les nouveaux Velociraptors, mais ils seraient certainement plus rapides mais probablement pas assez pour en valoir la peine pour les temps de compilation seuls.

La semaine dernière, nous avons eu une nouvelle plate-forme Intel Core i7-870 avec un SSD G.Skill Falcon 128 Go (avec le contrôleur Indilix Barefoot) et un disque dur standard de 500 Go comme deuxième disque. J'ai également jeté l'i-RAM dans ce PC et testé toutes les configurations.

Comparé au Core 2 Duo, compilé en 3,5 minutes pour le disque dur et en 2,5 minutes pour l'i-RAM, l'i7-870 se compile en 1 min 40 secondes pour le SSD, le disque dur et l'i-RAM donnent ou prennent 3 secondes.

Ainsi, les deux fois que nous avons mis à niveau les postes de travail des développeurs, la grande majorité de l'amélioration des performances dans les temps de compilation C # est venue d'un processeur plus rapide plutôt que d'un disque plus rapide. Si vous souhaitez accélérer les temps de compilation, mettez votre argent dans le processeur plutôt que dans le disque.

Cela dit, le SSD est beaucoup plus rapide pour charger Visual Studio et ouvrir une solution (même si je n'ai pas de minutage pour cela). Si vous pouvez vous permettre un SSD, vous ne reviendrez jamais en arrière car tous les programmes de votre PC se chargent tellement plus rapidement que c'est incroyable. Mais cela n'accélérera pas considérablement vos compilations. Et c'est avec Visual Studio C # à thread unique. Si Microsoft se réunissait un jour et rendait son compilateur multithread dans l'EDI, nous pourrions en fait utiliser ces quatre cœurs ...


Mise à jour de mai 2012: nous avons à nouveau mis à niveau nos PC et basé sur ce que nous avons appris avant de nous concentrer sur les performances du processeur. Les nouveaux PC ont des processeurs Intel Core i7-2600k overclockés à 4,6 GHz, avec un SSD Intel 510 Series 120 Go SATA III, 16 Go de RAM et un grand refroidisseur de processeur! Étonnamment, cela a presque divisé par deux le temps de compilation, et je attribue certainement cela à la très forte augmentation de la puissance du processeur plutôt qu'au SSD plus rapide.

Les résultats de la compilation C # dans Visual Studio 2010 étaient:

  • 159 secondes: Intel Core i7-870 stock (2,9 - 3,3 GHz), 4 Go de RAM avec SSD SATA II
  • 109 secondes: Intel Core i7-2600k stock (3,4 - 3,8 GHz) 16 Go de RAM avec SSD SATA III
  • 84 secondes: Intel Core i7-2600k overclocké (4,63 GHz) 16 Go de RAM avec SSD SATA III
Ben Robbins
la source
1
Merci .. Dommage que j'ai déjà commandé un ordinateur monstre SDD :) Je posterai mes résultats ici aussi mais j'ai peur que ce soit les mêmes résultats.
Julian de Wit
Avez-vous fait ASP.NET ou Winforms au fait?
Julian de Wit
9
Ok - j'ai beaucoup à corriger: Premièrement, vous n'avez pas mentionné le SSD que vous utilisiez. Les disques SSD se connectent directement à une interface SATA2, que l'iRAM est SATA1 (130 Mo / s). En plus de cela, l'iRAM a un contrôleur limité, ce qui bat le point. Si vous en aviez 2 en RAID 0, vous devriez obtenir des vitesses allant jusqu'à 200 Mo / s. Je suis d'accord qu'un SSD n'améliorera pas vos temps de compilation, mais j'ai vu un SSD ouvrir le studio visuel en une seconde environ. Enfin, je ne pense pas que l'iRAM soit considéré comme un lecteur SSD typique. Vos résultats sont trompeurs et les faits sont faux.
JL.
13
Vous devez lire et éventuellement réfléchir avant de taper. Tout d'abord, j'ai mentionné le SSD que j'utilisais, en fait il est en GRAS . Je sais que l'iRAM a une interface SATA1 et est donc plus lent pour les lectures que presque tous les SSD récents - je l'ai inclus car j'en avais un à tester et parce qu'il est en fait aussi rapide pour les écritures que pour les lectures, ce que la plupart des SSD ne sont pas. Je n'ai pas testé avec 2 en RAID car je n'en avais qu'un! J'ai également mentionné dans le dernier paragraphe que le SSD est beaucoup plus rapide pour charger VS. Les faits sont donc tous corrects et les résultats avec lesquels vous êtes d'accord, mais vous dites qu'ils sont trompeurs? Intéressant ...
Ben Robbins
1
@BenRobbins Avez-vous évalué votre projet C # en dehors de VisualStudio, avec l'indicateur / MP?
John Zabroski
27

Je viens d'en acheter un et le seul regret que j'ai est de ne pas avoir acheté de SSD plus tôt.

Les temps de compilation étaient déjà corrects auparavant, mais maintenant, l'ensemble de l'EDI est beaucoup plus réactif. Et ce n'est pas seulement Visual Studio, mais aussi d'autres applications. Il est tellement plus facile de rester en flux lorsque l'ensemble du système fonctionne aussi rapidement.

Adrian Grigore
la source
4
Après quelques mois .. J'ai le même sentiment. L'expérience informatique est meilleure.
Julian de Wit
11

À titre de test, nous venons de commander un SSD de 90 Go basé sur Sandforce pour voir s'il pourrait améliorer nos temps de construction. Nous avons un grand projet C ++ qui prend 21 minutes pour faire une reconstruction complète sur (une ancienne boîte Xeon 3,4 GHz.)

En exécutant trois tests sur chacun, la différence de temps dans les builds était négligeable; de l'ordre de 30 secondes plus rapide.

Notre plus récent (!) Boîtier Xeon 5150 (avec disque dur) reconstruit le même projet en ~ 11 minutes, ce qui montre que la compilation est vraiment liée au processeur.

(Cela m'a surpris car j'ai pensé que les performances de lecture / écriture 4k et 512k impressionnantes d'un SSD seraient très bénéfiques dans les versions.)

user528764
la source
11

Après de longs tests de performances, j'ai obtenu la meilleure configuration ici, mais pour un compilateur C ++. Tu auras besoin de:

  • SSD pour Windows et Program Files (généralement le lecteur C:)
  • 1 To WD Caviar Black en deux partitions:
    • Lecteur D: un tout petit (max 35 Go) au niveau des cylindres de démarrage n'ayant qu'un dossier TEMP; Vous devez mapper vos variables d'environnement TMP et TEMP à D: \ TEMP (celle-ci est vraiment importante !!!)
    • Lecteur E: avec le reste du stockage du lecteur; utilisez ceci pour le stockage de données générales, sauf pour le développement de logiciels
  • 1 To WD Caviar Black dans n'importe quelle disposition de partition dans laquelle vous souhaitez stocker vos projets / solution Visual Studio 2008. Sur la base de l'utilisation de Subversion, je me suis retrouvé avec quatre partitions:
    • 820 Go pour les projets de réseau et à usage général
    • 60 Go pour une "branche de fonctionnalités"
    • 60 Go pour une "branche stable" utilisée lors de la stabilisation du produit
    • 60 Go pour une "branche qualité du produit" utilisée pour des corrections mineures sur des logiciels approuvés
  • Processeur 6 cœurs ou 8 cœurs, utilisant le commutateur de compilateur / MP, (ne vous méprenez pas avec la fonctionnalité native de «construction de projet parallèle» de Visual Studio 2008 - je ne sais pas pourquoi le processeur AMD Phenon II fonctionne si bien avec cette combinaison)
  • Windows 7 64 bits (je ne sais pas exactement pourquoi il s'exécute plus rapidement dans un système d'exploitation 64 bits, même en utilisant un compilateur 32 bits)
  • Carte mère compatible SATA 3

Cette configuration surpasse toute autre combinaison que j'ai testée.

Une compilation typique d'un énorme projet modulaire aura les résultats suivants:

  • Construction parallèle sans / MP et disques durs ordinaires: environ 12h00 minutes
  • Cette configuration proposée: 4h30
  • Cette configuration, mais en utilisant des disques WD Caviar Green en alternance: +1: 00 par disque (5:30 ou 6:30 pour les deux)
  • Déplacement de la partition TEMP vers un RAMDRIVE: 5:30

Mes conclusions sont les suivantes:

  • Ne laissez pas le dossier TEMP s'exécuter sur SSD, car ce sont de mauvais «écrivains» et ne disposent pas d'un cache de 64 Mo comparable dans WD Caviar Black
  • L'utilisation d'un lecteur dédié fonctionnant comme TEMP permet aux deux lecteurs WD de fonctionner en parallèle: le TEMP pour les fichiers temporaires cl.exe et le lecteur de projet pour stocker * .cpp / h, * .obj, * .lib, * .exe, etc.
  • Les algorithmes de mise en cache WD Caviar Black sont impressionnants, combinés à SATA 6 Go / s, surpassent une configuration RAMDRIVE que j'ai testée pour le lecteur TEMP
  • Le partitionnement réduit l'impact sur la fragmentation qui est inévitable dans un environnement de compilateur; il en va de même pour le variateur TEMP

J'espère que je pourrais vous aider.

Mathias A. Gruber
la source
1
J'ai oublié de dire que le mode SATA devrait être en mode AHCI.
Mathias A. Gruber
1
Je ne suis pas sûr de la partie du dossier TEMP, cependant. Pourquoi dites-vous que les SSD sont de «mauvais écrivains»? En ce qui concerne la taille de leur cache intégré, elle est généralement supérieure à 64 Mo (Vertex 4 est livré avec 512 Mo de mémoire cache DRAM, jusqu'à 1 Go pour les disques plus gros). Et vos mauvaises expériences RAMDRIVE sont vraiment étranges. Quelle était sa taille? Où se trouvait votre fichier d'échange? Êtes-vous sûr qu'il n'a pas été échangé sur le disque? La RAM DDR2 moyenne a 10 fois la bande passante de SATA 6 Go, sans oublier que Windows lui-même fait la mise en cache RAM pour les écritures sur disque. Et ce n'est même pas le RAID dont vous parlez.
Groo
5

Je viens de mettre à niveau un ordinateur portable vers un SSD en clonant le disque dur d'origine à 5400 tr / min (étonnamment un processus indolore). J'ai utilisé un chronomètre pour capturer les métriques avant et après. (Dell Inspiron 1525, 3 Go de RAM, Windows Vista 32 bits)

Démarrage / Démarrage de Windows

63 secondes -> 52 secondes

Chargement de ma solution ASP.NET Visual Studio

En d'autres termes, le temps entre le clic sur le fichier .sln et le moment où Visual Studio est complètement chargé et vous pouvez commencer le codage. J'ai effectué cela une fois avant de prendre des mesures car la première fois prend toujours plus de temps que les suivantes.

16 secondes -> 8 secondes.

Débogage

F5 à la page d'accueil entièrement chargée.

5 secondes -> 3,5 secondes

James Lawruk
la source
1
Vous n'avez réduit que 21% de votre temps de démarrage en passant de 5400 tr / min au SSD? Vous devriez en voir un bien plus grand avantage. Peut-être que vous n'avez pas assez de RAM dans votre ordinateur portable?
Brian Kendig
@Bria Kendig Merci, je peux essayer ça. J'ai actuellement 3 Go, donc je ne peux pas aller plus loin que 4 Go.
James Lawruk
J'ai un SSD crucial et mon Win7 démarre en 15 secondes après l'arrêt complet.
tunafish24
Comment avez-vous changé votre disque dur en SSD dans un ordinateur portable Dell Inspiron?
Karthik Nishanth
J'ai acheté un logiciel de clonage et de petits tournevis d'Amazon. lawruk.com/blog/40/cloned-laptop-hard-drive-to-an-crucial-ssd
James Lawruk
5

Voir l'article de Joel Spolsky Solid State Disks (2009-03-27).

Peter Mortensen
la source
1
Salut merci, Mais je pense que cet article concernait leur propre compilateur et non VS 2008.
Julian de Wit
4

Lorsque j'ai acheté un nouvel ordinateur, je n'étais pas sûr de ce qui a rendu mon expérience plus rapide.

Cependant, un de mes collègues a changé un disque dur à 7200 tr / min pour un SSD. À la fois, Visual Studio (en particulier le démarrage / le débogage d'ASP.NET) était au moins deux fois plus rapide!

Julian de Wit
la source
2

J'ai également envisagé cela, et il y a quelque temps, j'ai acheté une carte SD rapide , que je peux coller dans l'ordinateur portable et l'oublier, afin que Windows Vista puisse utiliser la fonction ReadyBoost . Cela donne l'impression que cela fait une différence, mais ce n'est certainement pas suffisant pour justifier l'achat d'un lecteur SSD uniquement pour cela.

J'ai alors commencé à rencontrer des problèmes lors des mises à jour de Subversion , et j'ai décidé de supprimer l'idée ReadyBoost et de monter le lecteur SD sur un point de montage où j'ai ensuite créé tous mes fichiers de projet. La carte SD n'est pas très grande (1 Go), mais elle a certainement réduit mon temps d'attente pour les builds et accélère le débogage.

La plupart de ceci est subjectif et je réponds à une question qui veut des faits, avec «je ressens ceci» et «je ressens cela». En raison de mon expérimentation avec l'exécution de fichiers Visual Studio à partir d'un lecteur différent, je pense certainement que cela fera une différence, combien et combien je suis prêt à payer pour cette question, je recherche également une réponse. Mon ordinateur portable peut prendre un autre disque dur, et je n'ai pas été en mesure de me décider entre un lecteur SDD et un lecteur d'ordinateur portable à 7200 tr / min.

Peter Mortensen
la source
1
Salut, Merci .. J'ai eu à peu près les mêmes résultats avec le passage de 7200 à 10.000 vélociraptors. D'une certaine manière, cela s'est senti un peu plus rapide mais pas révolutionnaire. J'espérais que les SSD étaient révolutionnaires.
Julian de Wit
1
Je ne pense pas que les Velociraptors soient des disques SSD, juste pour être clair.
Brett