Lecteurs SSD et IDE Visual Studio. De grandes améliorations? Histoires d’utilisation réelles, pas de théorie

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

Les domaines que je veux accélérer sont les suivants:

  • Comstackr / construire des temps
  • Ouverture de fichiers pour winforms / webforms
  • Visual Studio “sluggishnes” pour Windows et Web

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

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

Je connais la théorie sur les disques SSD, mais généralement la preuve du pudding réside dans la consommation. Donc, je suis intéressé par les personnes qui ont effectivement essayé et testé une installation de Visual Studio avec SSD …

    J’ai des données concrètes pour Visual C # 2008. La version courte vous permet de 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 sums passés de PC Pentium 4 à 3 GHz avec des disques durs standard à des PC Core 2 Duo à 2,6 GHz dotés de disques durs WD Raptor à 10 000 tr / min (74 Go). L’accélération était immense. Environ 10 minutes à 3,5 minutes. 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, le i-RAM est rapide pour les deux, mais si vous perdez de la puissance, la batterie ne dure que 12 heures environ. Cela a réduit les temps de compilation d’une minute sur la plate-forme Core 2 Dou (jusqu’à 2,5 minutes) par rapport au disque dur Raptor à 10 000 tr / min.

    J’ai depuis découvert que ces vieux disques Raptor de 74 Go à 10 000 tr / min sont légèrement plus lents que votre disque de jardin de 7 200 tr / min, et nous avons prouvé que les parsings comparatives étaient cohérentes. Nous n’avons pas essayé les nouveaux Velociraptors, mais ils seraient certainement plus rapides, mais probablement pas assez pour être valables uniquement pour les temps de compilation.

    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 second 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 2,5 minutes pour l’i-RAM, le i7-870 comstack en 1 min 40 secondes pour le SSD, le disque dur et l’i-RAM, soit 3 secondes.

    Donc, les deux fois où nous avons mis à niveau les postes de travail des développeurs, la grande majorité des améliorations de performances dans les temps de compilation C # est venue plus rapidement du processeur que du disque plus rapide. Si vous souhaitez accélérer les temps de compilation, placez votre argent dans le processeur plutôt que dans le disque.

    Cela dit, le SSD est beaucoup plus rapide pour le chargement de Visual Studio et l’ouverture d’une solution (bien que je n’aie pas le temps pour cela). Si vous pouvez vous permettre un SSD, vous ne reviendrez jamais car chaque programme de votre PC se charge tellement plus vite que c’est incroyable. Mais cela ne va pas accélérer vos compilations de manière significative. Et c’est avec Visual Studio C # étant mono-thread. Si Microsoft avait déjà agi et avait fait de son compilateur dans l’EDI un système multithread, alors nous pourrions utiliser ces quatre cœurs …


    Mise à jour Mai 2012: Nous avons à nouveau mis à niveau nos PC et nous sums basés 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 SATA III 120 Go, 16 Go de RAM et un grand refroidisseur de processeur! Étonnamment, cela a presque réduit de moitié le temps de compilation, et je le dis certainement en raison de la très forte augmentation de la puissance du processeur plutôt que du SSD plus rapide.

    La compilation C # dans les résultats de performance de Visual Studio 2010 était la suivante:

    • 159 secondes: Stock Intel Core i7-870 (2,9 – 3,3 GHz), 4 Go de RAM avec SSD SATA II
    • 109 secondes: Stock Intel Core i7-2600k (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

    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 étaient déjà corrects, mais maintenant, tous les IDE sont beaucoup plus réactifs. Et ce n’est pas seulement Visual Studio, mais aussi d’autres applications. Il est tellement plus facile de restr en mouvement lorsque tout le système fonctionne rapidement.

    En guise de test, nous venons de commander un SSD basé sur Sandforce de 90 Go 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 (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 vite.

    Notre nouvelle boîte (!) Xeon 5150 (avec disque dur) reconstruit le même projet en 11 minutes environ, ce qui montre que la compilation est réellement liée au processeur.

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

    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 petit (max 35 Go) au début des cylindres ayant uniquement un dossier TEMP; Vous devez mapper vos variables d’environnement TMP et TEMP sur D: \ TEMP (celle-ci est vraiment importante !!!)
      • Lecteur E: avec le rest du disque de stockage; utilisez-le pour le stockage général des données, sauf pour le développement de logiciels
    • 1 To WD Caviar Black dans tout format 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 de lignes principales et générales
      • 60 Go pour une “twig technique”
      • 60 Go pour une “twig stable” utilisée lors de la stabilisation du produit
      • 60 Go pour une “twig qualité produit” utilisée pour les corrections mineures sur les 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 “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 testée.

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

    • Parallel build sans / MP et disques durs réguliers: environ 12:00 minutes
    • Cette configuration proposée: 4h30 minutes
    • Cette configuration, mais en utilisant alternativement des disques WD Caviar Green: +1: 00 par disque (5h30 ou 6h30 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 en SSD, car ce sont de mauvais “écrivains” et n’ont pas un cache comparable de 64 Mo 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 avec SATA 6 Go / s, surpasse une configuration RAMDRIVE que j’ai testée pour le lecteur TEMP
    • Le partitionnement réduit l’impact sur la fragmentation, inévitable dans un environnement de compilation. la même chose est également valable pour le lecteur TEMP

    J’espère que je pourrais vous aider.

    Je viens de mettre à niveau un ordinateur portable en SSD en clonant le disque dur d’origine de 5400 tr / min (un processus étonnamment simple). J’ai utilisé un chronomètre pour capturer les mésortingques 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 de cliquer sur le fichier .sln lorsque Visual Studio est entièrement chargé et que vous pouvez commencer à coder. Je l’ai fait une fois avant de prendre des mesures car la première fois prend toujours plus de temps que les temps suivants.

    16 secondes -> 8 secondes.

    Le débogage

    F5 à la page d’accueil complètement chargée.

    5 secondes -> 3,5 secondes

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

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

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

    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 fonctionnalité ReadyBoost . On a l’impression que cela fait une différence, mais ce n’est certainement pas suffisant pour justifier l’achat d’un lecteur de disque dur uniquement pour cela.

    J’ai ensuite 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 sharepoint assembly 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 demande des faits, avec «je ressens cela» et «je sens cela». En raison de mon expérimentation avec l’exécution de fichiers Visual Studio à partir d’un autre lecteur, je pense certainement que cela va faire la différence, combien et combien je suis prêt à payer pour cela, c’est une question que je recherche vivement. Mon ordinateur portable peut prendre un autre lecteur de disque dur, et je n’ai pas été en mesure de me décider entre un SDD et un ordinateur portable de 7 200 tr / min.