2009-05-04 5 views
1

Des suggestions sur pourquoi un programme VB6 serait plus lent lors de la compilation que lors de l'exécution dans le débogueur? Je compile avec "Optimiser pour le code rapide."Programme est plus lent lors de la compilation

Notes: Je mesure les performances en exécutant la version compilée et la version non compilée sur la même machine. J'ai basé mes prédictions sur l'heure de l'horloge murale, puisque 30 minutes contre 100 minutes est une différence assez importante pour être visible.

+1

Comment mesurez-vous? –

+0

30 minutes, c'est long pour un processus, accédez-vous à des ressources externes (réseau, base de données)? – BlackTigerX

+0

30 minutes est normal et attendu, compte tenu de ce qu'il fait. – Brian

Répondre

4

Il ya plusieurs mois, j'ai configuré un outil de débogage pour se connecter à mon programme à chaque fois qu'il fonctionnait. J'ai complètement oublié que j'avais fait ça.

Un merci spécial à Process Monitor pour rendre cela très évident.

En l'éteignant, le programme s'est exécuté rapidement.

AppVerifier, pour ceux qui sont curieux.

1

Vous devez sélectionner la compilation à code natif option

La compilation à P-code option oblige votre programme à exécuter en mode interprété, ce qui peut être plus lent.

Il y a quelques optimisations dans la section avancée. Essayez-les aussi.

Quelques points à considérer:

Êtes-vous l'application en cours d'exécution compliled dans le même environnement? Prend-il les mêmes données en entrée?

Comment avez-vous su que c'est lent? Que faire si votre programme de synchronisation est faux?

+0

Optimiser pour le code rapide est seulement une option en mode Code natif. – Brian

0

Comment mesurez-vous les performances?

Il est difficile de mesurer la performance par ce que vous venez de dire. Vous devez vous assurer que l'environnement d'exécution doit être exactement le même pour comparer la performance?

Courez-vous sur la même machine? Est-ce que vous vous connectez à DB? La DB a-t-elle la même charge de travail à différentes étapes? Vous devez isoler d'autres facteurs avant d'arriver à une telle décision.

Questions connexes