Bonjour,
j'utilise cette boucle en VB.NET
Pour parser un fichier de 2 go, compter le nombre de lignes, compter le nombre d’occurrences. Rien de bien spécial jusqu'ici. Ca s’exécute sur ma machine en 100,15s.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 "Dim mStreamReader As StreamReader = New StreamReader("10-million-combos.txt") line = mStreamReader.ReadLine() Do While (line IsNot Nothing) counter += 1 If Regex.IsMatch(line, "123456$") Then counter2 += 1 line = mStreamReader.ReadLine()"
Ce qui m'agace, c'est que le même code en C# s’exécute en 30,05s.
C#
Je comprends pas ce qui ne va pas dans mon code. Ca semble globalement être la même chose. Une idée ? Le code a été fait sous VS 2010 P.I.
Code : 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 Regex rgx = new Regex("123456$"); int counter = 0; int counter2 = 0; using (StreamReader sr = new StreamReader(@"10-million-combos.txt" +)) { String line; while ((line = sr.ReadLine()) != null) { ++counter; if (rgx.IsMatch(line)) { ++counter2; } } }
Merci.
Partager