Un développeur propose un test comparatif des performances de Sublime Text, Visual Studio Code et Atom,
que pensez-vous de sa méthodologie ?
Un développeur s’est proposé de lancer un test comparatif de performance des quatre éditeurs que sont Sublime Text (en version 3 beta, build 3126), Atom (en version 1.12.7), Visual Studio Code (en version 1.8.1) et TextEdit (en version 1.12 (329)). Le test a été réalisé sur un MacBook Pro 2016 embarquant un CPU Intel Core i5, tournant à une fréquence de 2.9 GHz, disposant de 8 Go de RAM LPDDR3. Sur le dispositif est installé un macOS Sierra 10.12.2. Pour les besoins du tests, tous les programmes que le développeur pouvaient voir ont été fermés.
Temps de lancement : le temps qu’il a chronométré est celui qui s’est écoulé entre le moment où il a cliqué sur les icônes des applications et celui où la première fenêtre de l’application était complètement lancée. Il a quand même précisé que, pour le cas de TextEdit, une fenêtre d’édition n’est pas ouverte mais que l’utilisateur se voit proposer une fenêtre de sélection de fichiers.
Temps d’ouverture d'une fenêtre : ici, le développeur a chronométré le temps pris par l’application entre le moment où il clique sur “ouvrir une nouvelle fenêtre” et celui où elle s’affiche entièrement. Il a noté que TextEdit a une animation de type pop-up qui se lance une fois qu’il demande l’ouverture d’une nouvelle fenêtre, ce qui le ralentit légèrement.
Temps d’ouverture des fichiers : quatre fichiers contenant 10 000, 100 000, 1 000 000 et 10 000 000 de ligne de codes ont été générés par le script Python ci-dessous. Le poids des fichiers était respectivement de 370 Ko, 3.7 Mo, 37 Mo et 370 Mo.
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 template = ''' #include <iostream> int main() { return 0; } /* %s */ ''' string = 'abcdefghijklmnopqrstuvwxyz1234567890\n' with open('test-10k.cpp', 'w') as f: f.write(template % (string * 10000,)) with open('test-100k.cpp', 'w') as f: f.write(template % (string * 100000,)) with open('test-1m.cpp', 'w') as f: f.write(template % (string * 1000000,)) with open('test-10m.cpp', 'w') as f: f.write(template % (string * 10000000,))
Les fichiers ont chacun été testé sur les différents éditeurs en allant crescendo. Parmi les remarques qu’il a pu faire, il a indiqué que :
- Atom n’a pas pu afficher le fichier avec le million de lignes de code et a indiqué “crashed” après 40 secondes environ ;
- Visual Studio Code n’a pas permis l’ouverture du fichier avec 10 millions de lignes de code, affichant que le fichier est trop volumineux ;
- Atom n’a pas pu garder la syntaxe colorée après l’ouverture du fichier de 100 milles ligne de code ;
- Visual Studio Code ne pouvait plus garder la syntaxe colorée après l’ouverture du fichier à 10 million de lignes de code ;
- TextEdit ne dispose pas d’une fonctionnalité de coloration syntaxique ;
- TextEdit a une animation de type pop-up a l’ouverture d’un fichier, ce qui le ralentit légèrement.
En conclusion, il a retenu qu’en matière de performance, Atom et Visual Studio Code fonctionnent bien moins que Sublime Text et TextEdit : « le lancement et l'ouverture des fenêtres sont plus lentes de quelques secondes, ce qui est perceptible, et ils ont occupé beaucoup plus de RAM ».
Il note néanmoins que Visual Studio Code a un avantage sur Atom dans l’ouverture des fichiers et l’utilisation de la RAM : « il peut traiter des fichiers plus volumineux et les traiter plus rapidement qu'Atom. Lorsque j'ai testé le fichier de 3,7 Mo, il l’a ouvert en 1 seconde alors qu’Atom a pris plus de 2 secondes ».
Source :
Utilisez vous les éditeurs qu'il a comparé ? Qu'en pensez-vous ?
Que pensez-vous de sa méthodologie ? Les éléments qu'il a testé permettent-ils de tirer de telles conclusions ? Si non, quels éléments auriez vous préférez voir testés ?
Partager