Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Optimierungen

von MitgliedThePuppetMasterSeite 4 von 9

Verschachtelte Funktionen effektiv einsetzen

Dim T as String = "Hallo   Test   "
Dim XPos as UInteger = InStr(1, T, " ")
Print "Left: >"; Left(T, XPos - 1)
Print "Rest: >"; Mid(T, XPos + 1)

Dieser Code sucht das erste Leerzeichen und gibt dann beide Teile aus.

Wir wollen das zweite Wort kleingeschrieben ausgeben.

Dim T as String = "Hallo   Test   "
Dim XPos as UInteger = InStr(1, T, " ")
Print "Left: >"; Left(T, XPos - 1)
Print "Rest: >"; LCase(Mid(T, XPos + 1))

Wir möchten die Leerzeichen entfernen.

Dim T as String = "Hallo   Test   "
Dim XPos as UInteger = InStr(1, T, " ")
Print "Left: >"; Trim(Left(T, XPos - 1))
Print "Rest: >"; Trim(LCase(Mid(T, XPos + 1)))

Dieser Code ist zwar klein, und würde ein System so gut wie überhaupt nicht ausbremsen, jedoch kann man hier ein wenig Zeit einsparen, die in einer Summe von Optimierungen zu einer Steigerung der Ausführungsgeschwindigkeit führen kann.
Was genau ist nicht gut an dem letztem Code?
Nun .. es ist die Reihenfolge von Trim() und LCase().

Zuerst LCase()'en wir den Abgeschnittenen Text. Hierbei müssen 10 Bytes auf Gross-/Kleinschrift hin geprüft werden.
Anschließend Trim()'en wir den Text, um führende und anhängende Leerzeichen zu entfernen.

Würden wir das Ganze umdrehen, und erst Trim()'en, würde LCase() nur noch 4 Zeichen untersuchen müssen, was zu einem Geschwindigkeitsvorteil führt.
Schließlich sind Leerzeichen nicht Groß- oder klein schreibbar, und müssen sowieso entfernt werden.

Solche "kleinen" Optimierungen können durchaus merklich hervortreten, wenn es z.B. darum geht einen schnellen Parser für große Quelltexte zu schreiben. z.B. für XML oder HTML MarkUp-Code.




 

Gehe zu Seite Gehe zu Seite  1  2  3  4  5  6  7  8  9  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 03.12.2011 von MitgliedThePuppetMaster angelegt.
  • Die aktuellste Version wurde am 17.05.2012 von Mitgliedtheta gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen