Gewusst wie: Verbessern der Leistung einer Schleife

Aktualisiert: November 2007

Sie können die Leistung einer Schleife optimieren, indem Sie die effizientesten Datentypen verwenden. Bei kurzen Schleifen, die nicht häufig ausgeführt werden, ergibt sich möglicherweise nur ein unwesentlicher Unterschied. Wird die Schleife jedoch viele Male ausgeführt, kann der Zugewinn an Leistung beträchtlich sein.

Integer und UInteger sind auf den aktuellen Plattformen die leistungsfähigsten Typen. Short, Long, UShort und ULong sind nicht ganz so leistungsfähig, während Decimal beträchtlich langsamer arbeitet. Weitere Informationen finden Sie unter Numerische Datentypen.

So optimieren Sie die Leistung einer For...Next-Schleife

  • Verwenden Sie für die Steuerungsvariable den effizientesten Datentyp. Im folgenden Beispiel werden mögliche Varianten einer Schleife vorgestellt. Die absoluten zeitlichen Werte richten sich nach der Plattform, die Laufzeitvergleiche sind jedoch auch unabhängig davon gültig.

    For fastest As Integer = 0 to 1000000
        ' Insert statements to execute for each value of fastest.
    Next fastest
    For notAsFast As Long = 0 to 1000000
        ' Insert statements to execute for each value of notAsFast.
    Next notAsFast
    For muchSlower As Decimal = 0 to 1000000
        ' Insert statements to execute for each value of muchSlower.
    Next muchSlower
    

    Im ersten Fall beansprucht die Ausführung etwas weniger Zeit als im zweiten. Integer kann jedoch nur Werte bis 2.147.483.647 und UInteger nur Werte bis 4.294.967.295 verarbeiten. Im zweiten und dritten Fall können größere Werte verarbeitet werden, da sowohl Long als auch Decimal einen größeren Ganzzahlbereich akzeptieren, allerdings arbeiten diese Datentypen langsamer. Sie müssen sich bei Ihrem Design eventuell entweder für schnelle Datentypen oder für Datentypen mit hoher Kapazität entscheiden.

Siehe auch

Aufgaben

Gewusst wie: Übertragen der Steuerung aus einer Kontrollstruktur

Gewusst wie: Mehrfaches Ausführen von mehreren Anweisungen

Gewusst wie: Ausführen mehrerer Anweisungen für jedes einzelne Element in einer Auflistung oder einem Array

Gewusst wie: Springen zur nächsten Iteration einer Schleife

Konzepte

Schleifenstruktur

Referenz

For...Next-Anweisung (Visual Basic)

Weitere Ressourcen

Ablaufsteuerung in Visual Basic