Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kommentare und Geschwindigkeit

Kommentare und Geschwindigkeit
13.06.2022 22:45:54
Dieter
Moin aus Hamburg,
VBA ist ja eine Interpretersprache, die ein Makro Zeile für Zeile abarbeitet. Wie verhält sich VBA dabei bei Kommentaren im Makro hinsichtlich Verarbeitungsgeschwindigkeit?
Hintergrund meiner Frage ist ein Makro, das in vielen Schleifen abgearbeitet wird. Dieses Makro enthält zudem zur besseren Dokumentation sehr viele Kommentare. Macht es einen signifikanten Unterschied in der Laufzeit, wenn ich die Kommentare entferne oder legt der Interpreter temporär so etwas wie einen kommentarfreien code an, der dann schneller abgearbeitet wird?
Danke schon einmal
Dieter

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentare und Geschwindigkeit
13.06.2022 23:20:53
Oberschlumpf
Hi Dieter,
ganz einfache Idee:
Variante 1
-programmiere im Code eine Stoppuhr, die mit Start des Makros mit dem Zählen beginnt
-lass alle Kommentare so stehen, wie es ist
-setz direkt vorm Ende des Makros ein Stopp-Signal der Stopuhr
Jetzt starte das Makro
Wenn das Makro beendet ist, lass dir per MsgBox die Start- und Endezeit der Stoppuhr anzeigen
Variante 2
-entferne nun alle Kommentare
Starte erneut das Makro
Wenn das Makro beendet ist, wird dir wieder per MsgBox die Start- und Endezeit der Stoppuhr angezeigt
Vergleiche die Zeit aus Variante1 mit der Zeit aus Variante2.
Welche Variante benötigte weniger Zeit?
Ciao
Thorsten
Anzeige
AW: Kommentare und Geschwindigkeit
13.06.2022 23:38:34
Dieter
Moin, Rudi und Thorsten,
die Idee hatte ich auch schon, aber es sind sehr viele Kommentare, und ich wollte mir Arbeit ersparen. Ich dachte nur, dass es vielleicht einige Erfahrungen gibt, die man "einfach so" aus der Hosentasche ziehen kann (gibt es hier smileys?).
Werde das mit dem Entfernen der Kommentare und der Stoppuhr probieren, wenn ich ein wenig mehr Zeit dafür habe.
Danke
Dieter
AW: Kommentare und Geschwindigkeit
14.06.2022 07:55:34
Peter
Ich sage mal, dass Kommentare überhaupt keinen Einfluß auf die Geschwindigkeit bei der Ausführung von Makros haben, da der Quellcode compiliert und das dann ausgeführt wird!! Man kann gar nicht genug kommentieren, um sich für später mal und anderen den Code zu erklären.
Anzeige
Kommentare aus Quellcode entfernen
14.06.2022 09:09:22
Daniel
Hi
viele Kommentare im Quellcode kann man so schnell und einfach löschen:
1. nimm ein leeres Tabellenblatt und formatiere die erste Spalte als Text (Zahlenformat)
2. kopiere den Code des Moduls oder Makros und füge ihn in das Tabellenblatt ein
3. filtere nach den Zeilen, die mit Hochkomma beginnen und lösche sie, oder ersetze mit der Menüfunktion ERSETZEN das Hochkomma + * durch nichts
4. lösche ggf mit dem Autofilter die Leerzeilen und kopiere den Code ins Modul zurück, testen am besten in ein neues Modul mit geänderten Makronamen.
jetzt hast du beide Varianten, mit und ohne Kommentaren in deinem Projekt und kannst testen.
Gruß Daniel
Anzeige
AW: Kommentare aus Quellcode entfernen
14.06.2022 09:30:19
Oberschlumpf
Erweiterung zu Daniels Idee:
Hi Dieter,
hin und wieder, zumindest bei mir, kommt es auch vor, dass am Ende einer Codezeile ein Kommentar enthalten ist.
Deswegen nicht das 1. Zeichen jeder Zeile auf Hochkomma prüfen, sondern prüfen, ob in gesamter Zeile ein Hochkomma enthalten ist.
Dabei gilt es noch zu beachten, dass z Bsp diese (oder änhliche) Zeile...

MsgBox "Der Pfad lauten ''C:\Temp''"
...auch Hochkommata enthält
(Bei Ausführung sehen die Hochkommata aus wie Anführ.zeichen - diese Variante verwende ich gern, weil ich mir damit das, ich finde, etwas umständliche Anzeigen von Text in Anführ.zeichen ersparen kann)
Du musst also prüfen, ob Hochkomma wirklich der Beginn eines Kommentars oder Inhalt eines Befehls ist.
Wenn du das ermittelt hast, lässt sich wirklich jede Codezeile von Kommentaren "befreien".
Ciao
Thorsten
Anzeige
AW: Kommentare aus Quellcode entfernen
14.06.2022 09:52:03
Daniel
Hi
für die Kommentare am Ende einer Codezeile hatte ich das ERSETZEN von '* geschrieben, damit bekommt man auch die weg, wenn man den Haken "gesamten Zellinhalt vergleichen" nicht setzt.
Mit den Hochkommas, die zum Code gehören hast du natürlich recht, da muss man aufpassen.
So ein Hochkomma muss aber Teil eines Textes sein und somit zwischen Anführungszeichen stehen.
Also könnte man diese Zeilen mit enthält nicht "*'*" ausblenden und dann das Ersetzen ausführen.
Sollten diese Zeilen auch noch Kommentar enthalten, muss man diesen dann manuell löschen.
Gruß Daniel
Anzeige
AW: Kommentare aus Quellcode entfernen
14.06.2022 10:02:07
Oberschlumpf
jep, wir bringen Dieter schon noch auf die richtige Spur! :-)
AW: Kommentare und Geschwindigkeit
13.06.2022 23:23:41
Rudi
Hallo,
warum testest du da nicht anhand einer Kopie ohne Kommentare?
Gruß
Rudi
AW: Kommentare und Geschwindigkeit
13.06.2022 23:39:17
Rudi
Hallo,
ich glaube nicht, dass das einen Unterschied macht. Die Kommentare werden einfach ignoriert. Sonst hätten die Programmierer einen schlechten Job gemacht.
zumindest die beiden Varianten laufen gleich schnell.

Sub aa()
Dim i As Long, t
t = Timer
For i = 1 To 100000000
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
' hier ist der kommentar
Next
Debug.Print Timer - t
End Sub
Sub aaa()
Dim i As Long, t
t = Timer
For i = 1 To 100000000
Next
Debug.Print Timer - t
End Sub
Gruß
Rudi
Anzeige
AW: Kommentare und Geschwindigkeit
13.06.2022 23:47:43
Dieter
Moin Rudi,
Im Prinzip sehe ich das auch so. Werde das aus Neugier trotzdem simulieren mit dem Verhältnis von Codezeilen zu Kommentarzeilen wie in meinem Projekt, brauche ja nur einen Daumenwert.
Danke
Dieter
AW: Kommentare und Geschwindigkeit
14.06.2022 05:08:07
mumpel
Hallo!
M.E. ist sowas in der heutigen Zeit nicht mehr von Bedeutung. Die Rechner sind heutzutage so schnell das man nicht mehr sinnvoll messen kann. Bei Videobearbeitung z.B. würde man vielleicht noch etwas merken, bei VBA aber nicht.
Gruß, René
AW: Kommentare und Geschwindigkeit
14.06.2022 07:42:37
Zwenn
Hallo Dieter,
Kommentare, egal in welcher Programmiersprache, wirken sich gar nicht auf die Laufzeit aus. Das eine Sprache interpretiert wird bedeutet nicht, dass sie Zeile für Zeile für die Maschine übersetzt und abgearbeitet wird. Das wäre z.B. in Schleifen verheerend für die Laufzeit. Vielmehr wird der Code bei interpretierten Sprachen beim Start einmal übersetzt und wird dann erst ausgeführt. Kommentare werden dabei ignoriert und befinden sich auch nicht mehr im Kompilat. Bei kompilierten Sprachen, wie z.B. C, wird nicht immer wieder beim Start kompiliert, sondern es wird einmal eine ausführbare Datei erzeugt, die dann immer wieder ohne neu kompiliert werden zu müssen gestartet werden kann.
Viele Grüße,
Zwenn
Anzeige
Genauso ist es! ;-) owT
14.06.2022 16:05:14
Luc:-?
:-?
Off topic
14.06.2022 08:20:29
:-)
Real programmers don't comment.
If it was hard to write, it should be hard to read.
AW: Off topic
14.06.2022 09:31:07
Oberschlumpf
^^ :-PPP :-)
AW: Off topic
14.06.2022 20:29:00
Dieter
Real programmers eat molten iron for breakfast.
Yeah man, gimme five!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige