Verbessern DATE Typ Leistung in VBA Outlook 2007
-
09-10-2019 - |
Frage
Ich bin völlig neu in diesem Bereich und sogar VB. Die aktuelle Leistung eines meiner Skripte ist wirklich schlecht. Ich weiß nicht, wie es profilieren. Daher verwende ich nur ‚Shift + F8‘ auf "Schritt über Anweisungen des einen nach dem anderen, um zu sehen, wo er fror. Dann stellt sich heraus die beiden folgenden Anweisungen sein:
//This compare instruction
If mail.SentOn < eCase.firstAppearance Then
eCase.firstAppearance = mail.SentOn
End If
//And this assignment instruction in another place
eCase.firstAppearance = mail.SentOn
LEGEND: ‚Mail‘ ist eine Instanz von ‚MailItem‘ und ‚ECASE‘ ist eine Instanz einer öffentlichen Klasse mit dem folgende Elemente:
Public firstAppearance As Date
IMHO, vielleicht brauche ich ‚Date‘ mit ‚Date_POINTER‘ oder ‚Date_REF‘ zu ersetzen, die Kopie Konstruktion zu vermeiden. Ich weiß nicht, wenn diese möglich sind. Weder habe ich eine Idee, wie die Leistung des Vergleichsbefehls zu verbessern.
Ich muss auch wissen, was der richtige Weg ist, es zu profilieren. Für den Fall, ich bin auf der Suche zu einem völlig irrelevant Platz.
Lösung
Finally, I chose to use CLng(expr) to convert 'Date' to 'Long', and save/compare with that value. It's still slow, but not that slow.