Pregunta

estoy totalmente nueva en esta zona e incluso VB. El rendimiento actual de una de mis guiones es muy malo. No sé cómo el perfil it. Por lo tanto, sólo tiene que utilizar 'Shift + F8' a 'pasar por encima' instrucciones de una en una para ver donde se congela. Luego resulta que las dos instrucciones siguientes:

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

Leyenda: 'mail' es una instancia de 'MailItem' y 'eCase' es una instancia de una clase pública con el miembro siguiente:

Public firstAppearance As Date

En mi humilde opinión, tal vez tengo que sustituir 'Fecha' con 'Date_POINTER' o 'Date_REF' para evitar la construcción de copia. No sé si los que son posibles. Yo tampoco ninguna idea sobre cómo mejorar el rendimiento de esa instrucción de comparación.

También es necesario saber cuál es la forma correcta de perfil it. Por si acaso Busco a un lugar totalmente irrelevante.

¿Fue útil?

Solución

Por último, he optado por utilizar CLng (expr) para convertir 'Fecha' a 'largo', y guardar / Comparar con ese valor. Todavía es lento, pero no tan lento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top