31.07.2013, 00:00 Uhr

Das geht locker 3000 mal schneller

Eigentlich weiß es jeder, aber der Unterschied ist so enorm, dass man durchaus von Zeit zu Zeit darauf hinweisen kann: Mit großen Strings kann man so oder so umgehen.
Christian Giesswein hat sich aktuell noch einmal drangesetzt und eine umfangreiche String-Verknüpfung in sechs Varianten programmiert. Alle nehmen ein String-Array her und verketten es 10.000 mal miteinander. Das Ergebnis ist ein riesiger String. Programmiert über eine einfache Verkettung per "+" bis zur Nutzung der Klasse StringBuilder und noch zwei weitere Methoden. Sein kleines Programm misst jeweils die Zeit, die es braucht, um die Aufgabe zu erledigen. Die einfache Verkettung schafft sein Rechner in 9,5 Sekunden. Die Verkettung per StringBuilder ist nach etwas mehr als 3 tausendstel Sekunden fertig. Schon das ist etwa 3050 mal schneller. Sein bestes Ergebnis ist noch einmal deutlich flotter und schon nach 1,26 tausendstel Sekunden fertig, das zeigt er im Screenshot eines Testlaufs auf seinem Rechner. Den Code zur Versuchsreihe hat Christian Giesswein hier zum Download bereitgestellt. Auf einem anderen Rechner mit der neuesten .NET-Version (Christian sagt nicht, welche er benutzt hat) ergeben sich etwas andere Tempogewinne, allerdings bleibt die Größenordnung der drei- bis viertausendfachen Beschleunigung. [bl]



Das könnte Sie auch interessieren