Gibt es eine andere Methode, die schneller ist als das?
%Vor% - Bearbeitet (Erklärung hinzufügen) -
F1: Gibt es einen Grund, warum Sie es beschleunigen müssen? Ist das ein großes Problem?
Dieser Teil wird in diesem Projekt verwendet: Ссылка
Ich werde viele verschiedene Saitenlängen in diese Funktion wiederholen. Der gesamte Prozess dauert etwa 6-15 Sekunden, um Millionen von Zeilen zu beenden. Es gibt andere Teile, die auch involviert werden. Ich versuche, jeden Teil zu beschleunigen.
Q2: Wie langsam ist es jetzt?
OK, ich werde die genaue Zeit erfassen und hier posten. Ich komme später wieder. (wird das Ergebnis morgen veröffentlichen)
Update 29-06-2012
Hallo Leute. Ich habe einen Test gemacht. Das ist das Ergebnis:
Geschwindigkeitstest: String.Replace () - in Millisekunden gemessen
Test 1: 26749.7531 ms
Test 2: 27063,438 ms
Test 3: 27753.8884 ms
Durchschnitt: 27189.0265 ms
Geschwindigkeit: 100%
Geschwindigkeitstest: Foreach Char and Append - gemessen in Millisekunden
Test 1: 8468.4547 ms
Test 2: 8348.8527 ms
Test 3: 8353.6476 ms
Durchschnitt: 8390.3183 ms
Geschwindigkeit: 224% & lt; schneller
===================================
Update - Nächster Test (Noch eine Runde)
===================================
------
Test Ersetzen Sie die String-Geschwindigkeit.
Test 1: 26535.6466
Test 2: 26379.6464
Test 3: 26379.6463
Durchschnitt: 26431.6464333333
Geschwindigkeit: 100%
------
Test Foreach Char String Anhängen.
Test 1: 8502.015
Test 2: 8517.6149
Test 3: 8595.6151
Durchschnitt: 8538.415
Geschwindigkeit: 309,56%
------
Test Foreach Char String Anhängen (Fix StringBuilder Length).
Test 1: 8314.8146
Test 2: 8330.4147
Test 3: 8346.0146
Durchschnitt: 8330.41463333333
Geschwindigkeit: 317,29%
Fazit:
Die Verwendung von Foreach Char Loop und Append ist schneller als String.Replace ().
Vielen Dank, Jungs.
--------
Im Folgenden sind die Codes, die ich verwendet habe, um den Test auszuführen: (bearbeitet)
Tags und Links c# performance