Hier, nous expliquions comment créer simplement un fichier d’une taille donnée à l’aide de l’utilitaire fsutil de windows.
Aujourd’hui, nous reprenons le même exercice mais en version powershell, en présentant 4 manières différentes (il en existe probablement d’autres) de créer un fichier de taille donnée. Les deux premières méthodes permettent de créer un fichier vide et les deux suivantes un fichier au contenu aléatoire. Nous n’allons pas nous lancer dans de longues explications mais simplement donner quelques éléments de performances sur les 4 méthodes.
Méthode 1 : Création d’un fichier vide
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PS C:\bin\tests> Measure-command { 1..50 | %{.\Create-File-v1.ps1 -Path "c:\bin\tests\file_5MB_v1_$_.txt" -Size 5MB} } Days : 0 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 223 Ticks : 2230237 TotalDays : 2,58129282407407E-06 TotalHours : 6,19510277777778E-05 TotalMinutes : 0,00371706166666667 TotalSeconds : 0,2230237 TotalMilliseconds : 223,0237 |
Temps de création d’un fichier de 5MB : 4,46 ms
Méthode 2 : Création d’un fichier vide ou contenant un même caractère répétitif.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PS C:\bin\tests> Measure-command { 1..50 | %{.\Create-File-v2.ps1 -Path "c:\bin\tests\file_5MB_v2_$_.txt" -Size 5MB} } Days : 0 Hours : 0 Minutes : 1 Seconds : 0 Milliseconds : 609 Ticks : 606091053 TotalDays : 0,000701494274305555 TotalHours : 0,0168358625833333 TotalMinutes : 1,010151755 TotalSeconds : 60,6091053 TotalMilliseconds : 60609,1053 |
Temps de création d’un fichier de 5MB : 1,212 s
Méthode 3 : Création d’un fichier au contenu aléatoire.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PS C:\bin\tests> Measure-command { 1..50 | %{.\Create-File-v3.ps1 -Path "c:\bin\tests\file_5MB_v3_$_.txt" -Size 5MB} } Days : 0 Hours : 0 Minutes : 0 Seconds : 3 Milliseconds : 433 Ticks : 34339482 TotalDays : 3,97447708333333E-05 TotalHours : 0,0009538745 TotalMinutes : 0,05723247 TotalSeconds : 3,4339482 TotalMilliseconds : 3433,9482 |
Temps de création d’un fichier de 5MB : 68,66 ms
Méthode 4 : Création d’un fichier au contenu aléatoire.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
PS C:\bin\tests> Measure-command { 1..50 | %{.\Create-File-v4.ps1 -Path "c:\bin\tests\file_5MB_v4_$_.txt" -Size 5MB} } Days : 0 Hours : 0 Minutes : 0 Seconds : 1 Milliseconds : 643 Ticks : 16439217 TotalDays : 1,90268715277778E-05 TotalHours : 0,000456644916666667 TotalMinutes : 0,027398695 TotalSeconds : 1,6439217 TotalMilliseconds : 1643,9217 |
Temps de création d’un fichier de 5MB : 32,86 ms
L’ensemble des scripts peut être téléchargé ici.