Bizarerie sur les rapidités d'exécution du code suivant les endroits m

Bizarerie sur les rapidités d'exécution du code suivant les endroits m - Delphi/Pascal - Programmation

Marsh Posté le 05-05-2005 à 22:26:40    

Bonjour!  
 
J'ai fait cette observation a propos de delphi. ON utilise l'évenement OnCreate des fiches pour initialiser des variables, etc...  
 
expérience 1: Dans cet évenement, j'ai la lecture d'un fichier assez gros (1Mo) dans un tableau. Bon, ca dure environ un certain temps  :o le temps de lire le fichier etc etc..  
 
expérience 2: Lorsque je met cette meme lecture de fichier, dans l'évenment Onclic d'un bouton (après avoir supprimé le code de lecture du fichier de OnCreate of course), eh bien la lecture du fichier de 1Mo est presque instantanée!!  :ouch:  
 
étonnant non?! Je pense que OnCreate doit continuer en arriere plan pendant que mon code s'exécute?!  :sarcastic:  
 
Je sais pas si quelqu'un a déja été confronté a çà, mais çà me parait étrange !! :wahoo:  
 
 

Reply

Marsh Posté le 05-05-2005 à 22:26:40   

Reply

Marsh Posté le 07-05-2005 à 01:32:52    

A priori il y a un seul thread pour tout ce qui est VCL donc il n'y a pas de raison que dans le OnCreate ce soit plus lent qu'ailleurs :??:
T'as essayé en affichant la différence entre deux GetTickCount (un avant et un après la lecture) pour voir le temps que ça prend dans les deux cas ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 07-05-2005 à 10:56:44    

Euh gettickcount ne marche pas, mais le code en version 'rapide' s'execute en environ 5s contre 40s en version "lente"!!!!

Reply

Marsh Posté le 07-05-2005 à 11:29:06    

Bah si GetTickCount fonctionne :o C'est toi qui l'emploie mal alors :p
Tu le lis comment ton fichier ? T'es sûr qu'il n'y a pas après la lecture une autre fonction qui, elle, prend du temps.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed