Analyse du développement avec disque dur flash (SSD)

Par Patrick Bélanger, mardi 20 avril 2010 08:29
Catégorie : Programmation

image

Il y a déjà quelques années que les disques durs flash (SSD) sont apparus sur le marché.  Au début, on les retrouvait davantage sur des systèmes bien précis, où leurs propriétés atypiques obligeaient leur utilisation. Par exemple, j’ai un ami qui travaille en informatique dans le milieu forestier.  Dans ce contexte, les SSD sont utilisés depuis plusieurs années comme contrôleur dans des systèmes embarqués sur de grosses machines directement sur l’exploitation. Ces machines se promènent sur tout le territoire, coupent, préparent et transportent le bois.  Pour eux, le gros avantage du SSD est la résistance aux vibrations.

 

Honnêtement, il n’y a pas tant de vibrations que ça au bureau…  Et pour d’autres qui travaillent sur des ordinateurs portables, ils l’utilisent pour le gain en économie de batterie.  Mais ce qui nous intéresse de notre côté, c’est les performances incroyables de certains SSD sur la lecture et l’écriture de fichiers aléatoirement distribués sur le disque dur.  Prenez par exemple, le Intel X25-M.  Il est reconnu pour permettre 250 MB/s en lecture et 70 MB/s en écriture en maintenant jusqu’à 32 opérations en parallèle, au détriment de peu d’espace avec son chétif 80 GB.  Et en cherchant sur le Web, vous trouverez une panoplie de personnes vous vantant ces mérites pour accélérer leur système.

 

Nous avons donc décider de prendre le temps de tester dans notre environnement ce que l’on pourrait avoir comme gain à l’utilisation.  À sa sortie en 2008, ce disque ce détaillait près de 800$, alors qu’on le retrouve désormais aux environs de 250$ (si vous êtes dans la région de Drummondville, je vous conseille Dr Solutions, ils en ont à un prix très agréable).

 

Objectif du test

Pour nos tests, nous nous sommes concentrés sur du quantifiable, bien que je puisse vous assurer qu’il y a une amélioration ressentie dans la majorité des applications; Windows en premier.  Notre objectif de départ était de mesurer les temps de compilation comme pour la plupart de nos applications, ce temps représente une part non négligeable de la journée d’un développeur.

 

Démarche

Nous avons donc préparé deux machines similaires, l’une avec un disque dur Western Digital comme nous utilisons d’ordinaire, la seconde avec un Intel X25-M de seconde génération.  Et pour bien mesurer notre test, les deux disques durs ont été placés dans la même machine.  On changeait l’unité de démarrage pour tester l’une ou l’autre, mais nous étions assurés d’avoir la même mémoire, la même carte maitresse, le même CPU, …

 

Chaque test fût exécuté trois fois pour permettre de lisser quelque peu les données.  Il y a eu de deux à quatre tests :

  • Compilation complète de la solution (Rebuilt All);
  • Compilation des modifications (Build).

 

Et pour une des solutions, nous avons aussi profité du test pour compiler sous Visual Studio 2010 sur le SSD.

 

Description du poste

Voici les spécifications sommaires du poste sur lequel a eu lieu le test.  Il représente bien un poste typique de développeur chez nous.

CPU Intel Core2 Quad Q6600 @ 2.4 GHz
Mémoire 4 GB
Carte maitresse MSI MS-7345
Système d’exploitation Windows 7 x64
Version de Visual Studio Visual Studio 2008 SP1
Visual Studio 2010 (sur Intel X25 seulement)
Version de .Net visé .Net 3.5 SP1

Tous les Hotfix / Service pack étaient installés.

 

Description des solutions compilées

Nous avons effectués les tests de compilation sur trois projets.  Comme le développement Web représente la majorité des développements effectués chez Nmedia, nous avons testé deux solutions principalement Web et une Windows Presentation Fondation (WPF).

 

Technologie

Nombre de projets

Nombre de lignes de codes

Web #1

ASP .Net

27

128254

Web #2

ASP .Net

17

62898

WPF

WPF

18

62197


Ceci dit, dans les solutions Web, il y avait aussi des projets WPF et Silverlight.

 

Observations

Voici les données mesurées et sur lesquelles furent calculées la moyenne. 

  Disque dur à plateau 
Rebuild All
Disque dur à plateau 
Build
SSD
Rebuild All
SSD
Build
SSD
Rebuild All - VS2010
SSD
Build - VS2010
WPF 101.9 8.5 76.5 5.8 37.9 5.2
Web #1 117.5 64.4 57.3 43.3    
Web #2 35.7 15.3 21.6 7.4    

 

Répartition pour les trois solutions :

image


Application Web #1

image


Application Web #2

image


Application WPF


image

Résultats

Et oui… ce qui nous intéresse le plus : SHOW ME THE MONEY ! (ou les chiffres dans notre cas).

 

 

Temps sauvé
Rebuild All

Temps sauvé
Build

Gain
Rebuild All

Gain
Build

Web #1

60.2 s

21.0 s

51%

33%

Web #2

14.0 s

7.9 s

39%

52%

WPF

25.4 s

2.7 s

25%

31%

 

Vous vous souvenez que nous avons testé l’application WPF sur SSD ET Visual Studio 2010 ? 

 

Temps sauvé
Rebuild All

Temps sauvé
Build

Gain 
Rebuild All

Gain 
Build

WPF

64.0

3.2

63%

38%

 

Conclusion

Ça, je vous le laisse en exercice à la maison !

Commentaires

mercredi 21 avril 2010 09:12

Kobusinski Roman

Kobusinski Roman Canada

Beau petit test, cependant il faut aussi prendre en compte que même si le X25-M est bien réputé et possède des temps d'accès en écriture vraiment minime, il n'est pas tout jeune et possède un débit en écriture très faible pour un SSD... Les meilleurs SSD du moment ayant comme débit :270 Mo/sec pour la lecture ET pour l'écriture à un coût en général similaire. Pour le genre d'exercice effectué sur ton test, une donnée importante entre aussi en compte : le IOPS soit le nombre d'opération par seconde capable d'être effectué si je ne me trompe pas.

Il ne faut pas juger de la qualité et des avantages des disques SSD uniquement sur les X-25m, qui même si sont performant n'en reste pas moins un peu vieux à mon gout.

 
 

Ajouter un commentaire

no avatar
Entrez votre nom, alias ou adresse de courriel.
Nous vous incarnerons à partir des services ici-bas.
 

(Affichera votre icône Gravatar)

  Country flag

biuquote
Loading