Disques SSD et IDE Visual Studio. De grandes améliorations? Histoires d'utilisation réelle, pas de théorie
Je veux aller pour Windows 7 + disques SSD Intel pour accélérer mon cycle de développement Visual Studio 2008.
Les zones que je veux accélérer sont:
- Temps de compilation/construction
- Ouverture des fichiers pour winforms / webforms
- Générale Visual Studio "sluggishnes" pour Windows et web
Je ne suis pas intéressé par le temps de démarrage de Visual Studio. Aussi le coût par GO n'est pas un problème. Je veux de la vitesse.
Quelqu'un a-t-il essayé ceci (lecteur SSD + Visual Studio ) déjà et que pouvez-vous dire sur les speedups / downs?
Je connais la théorie sur les SSD mais généralement la preuve du pudding est dans le manger. Donc, je suis intéressé par les gens qui ont réellement essayé et testé une configuration Visual Studio avec SSD...
8 réponses
J'ai des données dures pour Visual C # 2008. la version courte est que vous êtes le meilleur de dépenser votre argent sur un processeur plus rapide que plus rapide I/O . Une réponse plus longue suit...
Notre solution C# (. Net 3.5) contient 81 projets avec plus de 2m lignes de code (y compris les commentaires et les lignes vides). Il y a quelques années, nous avons mis à niveau de Pentium 4 3 GHz PC avec disques durs standard à Core 2 Duo 2.6 GHz PC avec 10,000 RPM WD Raptor disques durs (74 GB). L'accélération était immense. Environ 10 minutes jusqu'à 3,5 minute. Tout cela dans un environnement Windows XP Pro 32 bits avec 4 Go de RAM.
Nous avons également un gigaoctet i-RAM (google pour information), 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, vous devez donc être discipliné avec vos check-ins. Cela a rasé une autre minute des temps de compilation sur la plate forme Core 2 Dou (jusqu'à 2.5 minutes) par rapport au 10,000 RPM Raptor HDD.
J'ai depuis découvert que ces vieux 74 GB 10,000 RPM Raptor lecteurs sont légèrement plus lent que votre jardin variété 7,200 RPM lecteur moderne et nous avons prouvé que l'analyse comparative constante compile. 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 Falcon G. Skill 128 GB SSD (avec le contrôleur Indilix pieds nus) et un disque dur standard 500 GB comme deuxième lecteur. J'ai également jeté l'I-RAM dans ce PC et testé toutes les configurations.
Par rapport au Core 2 Duo, qui a compilé en 3,5 minutes pour le disque dur et 2,5 minutes pour l'I-RAM, l'i7-870 compile en 1 Min 40 secondes pour le SSD, le disque dur et l'I-RAM donnent ou prennent 3 secondes.
Donc, les deux fois, nous avons amélioré les postes de travail des développeurs, la grande majorité de l'amélioration des performances dans Les temps de compilation C# proviennent de la CPU plus rapide que du disque plus rapide. Si vous voulez accélérer les temps de compilation, mettez votre argent dans le CPU plutôt que sur le disque.
Cela dit, Le SSD est beaucoup plus rapide pour charger Visual Studio et ouvrir une solution (bien que je n'ai pas de timings pour cela). Si vous pouvez vous permettre un SSD, vous ne reviendrez jamais car chaque programme sur votre PC se charge tellement plus vite qu'il est incroyable. Mais cela n'accélérera pas considérablement vos compilations. Et C'est avec Visual Studio C# être mono-thread. Si Microsoft a jamais obtenu leur acte ensemble et fait leur compilateur dans L'IDE multi-thread alors nous pourrions réellement utiliser ces quatre cœurs...
Mise à jour mai 2012: nous avons maintenant amélioré nos PC à nouveau et basé sur ce que nous avons appris avant de nous concentrer sur les performances du processeur. Les nouveaux PC ont processeurs Intel Core i7-2600k overclocké à 4.6 GHz, avec Intel 510 série 120 GB SATA III SSD, 16 GB RAM et un grand refroidisseur de CPU! Étonnamment, cela a presque réduit de moitié le temps de compilation, et je mets certainement cela à la très grande augmentation de la puissance du processeur plutôt que le SSD plus rapide.
Compilation C # dans Visual Studio 2010 les résultats de performance étaient:
- 159 secondes: Intel Core i7-870 stock (2.9 - 3.3 GHz), 4 GB RAM avec SATA II SSD
- 109 secondes: Intel Core i7-2600k stock (3.4 - 3.8 GHz) 16 GB RAM avec SATA III SSD
- 84 secondes: Intel Core i7-2600k overclocké (4.63 GHz) 16 GB RAM avec SATA III SSD
Je viens d'en acheter un et le seul regret que j'ai est de ne pas acheter un SSD plus tôt.
Les temps de Compilation ont déjà été corrects, mais maintenant tout L'IDE 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 dans flow lorsque tout le système fonctionne aussi rapidement.
En tant que test, nous venons de commander un SSD 90 GB basé sur Sandforce pour voir si cela pourrait aider 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 nouveau (!) Xeon 5150 box (avec disque dur) reconstruit le même projet en ~11 minutes, ce qui montre que la compilation est vraiment CPU lier.
(cela m'a surpris car je pensais que les performances impressionnantes en lecture/écriture 4k et 512k d'un SSD seraient super bénéfiques dans les builds.)
Après de longs tests de performance, j'ai eu la meilleure configuration ici, mais pour un compilateur C++. Vous aurez besoin de:
- SSD pour Windows et Program Files (généralement le lecteur C:)
- 1 TB WD Caviar noir dans deux partitions:
- Lecteur D: un minuscule (max 35 Go) au début des cylindres ayant seulement un dossier TEMP; vous devez mapper vos variables d'environnement tmp et TEMP pour D:\TEMP (celui-ci est vraiment important!!!)
- Lecteur E: avec le reste du stockage du lecteur; Utilisez ceci pour le stockage général des données, à l'exception du développement logiciel
- 1 to WD Caviar Black dans n'importe quelle disposition de partition que vous souhaitez stocker vos projets/solutions Visual Studio 2008. Basé sur l'utilisation de Subversion j'ai fini avec quatre partitions:
- 820 GO pour les projets trunk et general purpose
- 60 Go pour une "branche de fonctionnalité"
- 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 logiciel approuvé
- processeur 6-core ou 8-core, utilisant le commutateur du compilateur / MP, (ne vous confondez pas avec la fonctionnalité native "parallel project build" 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 fonctionne plus vite dans un système d'exploitation 64 bits, même en utilisant un compilateur 32 bits)
- SATA 3 compatible carte mère
Cette configuration surpasse toute autre combinaison que j'ai testé.
Une compilation typique d'un énorme projet modulaire aura les résultats suivants:
- construction parallèle sans / MP et disques durs réguliers: environ 12: 00 minutes
- cette configuration proposée: 4: 30 minutes
- cette configuration, mais en utilisant alternativement à WD Caviar Green drives: +1:00 Par lecteur (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 dans SSD, car ils sont de mauvais "écrivains" et n'ont pas de cache comparable de 64 Mo à L'intérieur de WD Caviar Black
- L'utilisation d'un disque dédié fonctionnant comme TEMP permet aux deux disques WD de fonctionner en parallèle: le TEMP pour cl.les fichiers temporaires exe et le lecteur de projet pour stocker *.rpc/h, *.obj, *.lib *.exe, etc.
- les algorithmes de mise en cache WD Caviar Black sont impressionnants, combinés avec SATA 6 GB / s, surpasse une configuration RAMDRIVE que j'AI testée pour le disque TEMP
- Le partitionnement réduit l'impact sur la fragmentation qui est inévitable dans un environnement de compilateur; la même chose est également valable pour le lecteur TEMP
J'espère pouvoir vous aider.
Je viens de mettre à niveau un ordinateur portable vers SSD en clonant le disque dur 5400 RPM d'origine (étonnamment un processus indolore). J'ai utilisé un chronomètre pour capturer des 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 mon ASP.NET solution Visual Studio
En d'autres termes, le temps de cliquer sur le .fichier sln lorsque Visual Studio est complètement chargé et vous pouvez commencer à coder. Je effectué cette fois avant de prendre des mesures parce que la première fois prend toujours plus de temps que les temps suivants.
16 secondes --> 8 secondes.
Débogage
F5 à la page d'accueil entièrement chargé.
5 secondes --> 3,5 secondes
Quand j'ai acheté un nouvel ordinateur, je ne savais pas quelle était la chose qui a rendu mon expérience plus rapide.
Cependant, un de mes collègues a changé un disque dur 7200 RPM pour un SSD. À la fois Visual Studio (en particulier le démarrage / débogage ASP.NET) était au moins deux fois aussi rapide!
Voir L'article de Joel Spolsky disques SSD (2009-03-27).
J'ai aussi 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, de sorte que Windows Vista peut utiliser le ReadyBoost feauture. Cela semble faire une différence, mais ce n'est certainement pas suffisant pour justifier l'achat d'un disque SSD juste pour cela.
J'ai ensuite commencé à rencontrer des problèmes lors des mises à jour Subversion, et j'ai décidé de supprimer L'idée ReadyBoost, et de monter le lecteur SD sur un support point où j'ai ensuite créé tous mes fichiers de projet. La carte SD n'est pas très grande (1 GB), mais elle a certainement réduit mon temps d'attente pour les builds et rend le débogage un peu plus rapide.
La plupart de ceci est subjectif et je réponds à une question qui veut des faits, avec "je sens ceci" et "je sens cela". En raison de mon expérimentation avec l'exécution de fichiers Visual Studio à partir d'un lecteur différent, je crois certainement que cela fera une différence, combien, et combien je suis prêt à payer pour cela est un question je suis aussi vivement à la recherche d'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 SDD et un lecteur d'ordinateur portable 7200 RPM.