Question

Je suis tout à fait nouveau dans ce domaine et même VB. La performance actuelle d'un de mes scripts est vraiment mauvais. Je ne sais pas comment il le profil. D'où je viens d'utiliser Shift + F8 'à « étape sur » instructions un par un pour voir où il freezed. Ensuite, il se révèle être les deux instructions suivantes:

//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

LÉGENDE: « mail » est une instance de « MailItem » et « eCase » est une instance d'une classe publique avec l'élément suivant:

Public firstAppearance As Date

à mon humble avis, peut-être je dois remplacer « Date » par « Date_POINTER » ou « Date_REF » pour éviter la construction de copie. Je ne sais pas si ceux-ci sont possibles. Moi non plus une idée sur la façon d'améliorer les performances de cette instruction de comparaison.

Je dois aussi savoir quelle est la bonne façon de le profil il. Juste au cas où je suis à la recherche à un endroit tout à fait hors de propos.

Était-ce utile?

La solution

Enfin, j'ai choisi d'utiliser CLng (expr) pour convertir « Date » à « long », et enregistrer / comparer avec cette valeur. Il est encore lent, mais pas lent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top