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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top