(1) 2 »


Mesurer temps d'execution WINDEV 7.5
Anonyme
Bonjour ,
Je travaille avec Windev 7.5. Je voulais savoir si il existe des outils disponibles ou des fonctions pour mesurer les temps d'executions qu'on passe dans chaque fonction ( dans un but d'optimisation)

PS : je ne souhaite pas passer directement par l'API windows (QueryPerformance...)

Contribution le : 16/08/2004 11:22
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
Bonjour,
pourquoi ne pas utiliser les fonctions HeureSys(),
HeureDifférence(), etc ?
Voir "Gestion des dates et des heures"

Contribution le : 16/08/2004 11:41
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
DSI WDF
Inscrit:
05/05/2004 13:46
Post(s): 314
Teste ceci
Projet->Analyseur de performances

Contribution le : 16/08/2004 13:46
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Utilisateur WDF
Inscrit:
09/06/2004 09:31
Post(s): 78
Citation :
Teste ceci.....

ca n'existe pas. Il est précisé Windev 7.5!!!

Quand à la mesure avec heuresys() ca peut etre une idée , mais alors la les mesures vont etre a moitié fausse(aucune précision)

Il va comptabiliser l'execution de heuredifference qui doit etre hyper couteuse en windev

Contribution le : 16/08/2004 13:55
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Animateur WDF
Inscrit:
17/05/2004 14:21
Post(s): 382
Bonjour
HeureA = heuresys()

// TRAITEMENT

HeureB = heuresys()

info(heuredifference(heurea,heureb)


L'execution de heuredifference n'est pas comptabilisée.

Mickael

Contribution le : 19/08/2004 11:37
_________________
Mbsl
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Utilisateur WDF
Inscrit:
09/06/2004 09:31
Post(s): 78
Citation :
L'execution de heuredifference n'est pas comptabilisée


On peut savoir d'ou tu tiens cette information ?

Contribution le : 30/08/2004 09:47
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

t1 est une Heure
t2 est une Heure
d1 est une Durée

t1 = HeureSys()
//Traitement
t2 = HeureSys()
d1 = t2 -t1
"Temps d'exécution : " + d1..Minute+"m"+d1..Seconde+"s"+d1..Milliseconde+"c"


Comme ceci vous pourrez récupérer le temps d'exécution

Contribution le : 30/08/2004 10:54
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Anonyme
Citation :
Bonjour,t1 est une Heuret2 est une Heured1 est une Duréet1 = HeureSys()//Traitementt2 = HeureSys()d1 = t2 -t1"Temps d'exécution : " +d1..Minute+"m"+d1..Seconde+"s"+d1..Milliseconde+"c"



je vais essayé d'expliquer pourquoi cette solution ne me convient pas.

Si le traitement que je fais est relativement long il se passe que mon processus risque d'etre preempté plusieurs fois. Ce qui fais que au final je vais compatibilser ce temps la qui ne m'interesse pas.

Contribution le : 30/08/2004 12:40
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Anonyme
donc y'a aucune précision c'est meme bourrin de compter le temps d'execution comme ça.

Si je lance mon prog avec un traitement long et que je lance un autre prog a coté qui bouffe grave de la ressource cpu ca veut dire que je vais compter le temps de l'aotre prog + le mien c n'importe quoi

C'est sur que si on fait 10 lignes de code...

Contribution le : 01/09/2004 09:49
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Anonyme
Bonjour,
J'ai du mal à comprendre pourquoi développer en 7.5 aujourd'hui, alors que la 8 n'est qu'une 7.5 améliorée avec des trucs en plus, dont justement un module d'analyse de temps passé dans le code qui vaut à lui seul la mise à jour!!!
A l'aide de ce module, on sait o^passe le temps dans le code, et ça aide, ça aide...
Pareil, y'a un autre module qui indique les clés composées manquantes pour les requêtes, et ça aide aussi !!!

Contribution le : 02/09/2004 12:15
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
euh ben pour repondre au dernier anonyme, c pas tjs evident
de motiver celui qui tient le budget.

Sinon, pour l'initiateur du post, il y a une procedure qui liste les processus,
et par la meme occasion certaines informations qui sont liées.
Je me disais qu'on doit pouvoir accéder au temps UC, visible
ds le gestionnaire des tâches.
C je crois une piste qui devrait te convenir.

Bon courage, et sois moins acerbe qd meme.


Contribution le : 02/09/2004 15:05
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Anonyme
Bonjour ,

Au sujet de la version 8 on compte y passer bientot c'est vrai que il y a un module analyse performance ca peut aider enfin...

Sinon oui il y a moyen de recuperer les temps exacts facturé en mode kernel et en mode user avec l'api windows ( queryperformance...)

Mais je pensais que cette derniere serait encapsulé dans une procédure windev qui permettrait un usage plus simple.

A priori avec la version 7.5 cela n'est pas possible avec les fonctions standard , obligé de passer par l'api win.

Contribution le : 03/09/2004 11:06
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
voici un lien qui devrait t'etre utile :
http://old.wdforge.org/modules/wffaq/article.php?t=28&PHPSESSID=b6dd70609432219fc79b7bf5469668e1

ya plus qu'a adapter le code pour ton objectif

amuses toi bien

Contribution le : 03/09/2004 11:54
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Anonyme
Y'a un truc que je comprends pas. C'est une manie ici de donner des réponses ou des liens qui sont hors sujet ?
C'est fais pour faire joli ?

Le lien que tu m'as donné n'a rien a voir avec la mesure du temps d'execution.

C'est vraiment pas la peine de repondre dans ce cas la quand on sait pas.


Contribution le : 03/09/2004 13:28
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

C'est aussi une manie de poster en anonyme ici et ce n'est pas pour cela que l'on a une quelconque animosité envers les anonymes, s?enregistrer c'est gratuit, plus convivial et cela n'engage en rien. voir les règles d'utilisation

Les gens qui répondent à ce forum prennent du temps pour répondre, certains effectue des recherches, font des tests, certes cela n'est pas toujours ce que l'on attend, mais souvent à la hauteur des questions postées,

Nous ne pouvons deviner vos besoins si vous ne l'exprimé pas correctement non plus.

Même si certains répondent à coté, au moins ils essaient, car apparemment ailleurs vous n'avez pas non plus de réponse, cela est dommage vous seriez peut-être moins irrité de trouver une solution à votre problème.

Evitons donc toutes animosités.

Citation :

Ce n'est vraiment pas la peine de répondre dans ce cas la quand on sait pas


A moi aussi il m'arrive de répondre à coté, et si on répondait que lorsque l'on est sûr ce site ne serait pas aussi actif.

[modérateur]
Ne décourageons donc pas le peu de personnes qui tentent d?apporter leurs contributions car ce genre de post n'encourage pas du tout à répondre.
[/modérateur]

Contribution le : 05/09/2004 09:59
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
Euh ouai t sympa toi c cool
si je me souviens bien le tps UC c ce qui se rapproche le plus de ce que tu veux non?
bon ehbien debrouille toi je v pas tout expliquer
liste des processus, tu trouves ton appli, tu recupere le tps uc au moment ou t'en as besoin, c pas un tps d'execution ça?
non?
ah c juste le tps processeur, c pa exactement ce ke tu veux?
eh ben au lieu de raler, cherche, tu gagneras du tps.
le code que g donné en lien je l'ai utilisé pour autre chose que lister les processus, je l'ai:
ADAPTÉ.
t'as une cervelle? oui? ben sers-t-en
Non ben recycle-toi, ce sera mieux.

Et au lieu de dire c pas ca en t'enervant, expliques, ce sera plus constructif, et plus agreable.

Bon allez amuse toi bien

Contribution le : 06/09/2004 15:30
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
[modérateur et administrateur du site de retour de congès]
Attention messieurs !
Voici que je retrouve des dérapages oratoires. Soit que certain ne comprennent pas que gratuité de service n'implique obligation de résultat, soit que le respect soit d'un autre temps...
[/modérateur]

Le problème posé n'est pas aussi simple que la question semble l'être...

La méthode heuresys et le delta calculé à posteriori est valable avec un seul procédé actif. En effet, les temps de heuresys peuvent être mesuré et décomptés.

Pour le reste, il faut creuser dans WinDows... et ses api (désolé) de manière à trouver une solution sur le voie du temps CPU indiqué justement par veDengaG.

piste 1
Piste 2 pour VC++ et donc via dll = mesure en tic processeur (utile et d'une précision ultime)

bon courage et ne pas hésiter à nous retourner le résultat de vos investigation, cela sera constructif.

Contribution le : 06/09/2004 16:47
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Anonyme
Voila le lien que vous m'avez donné

comme l'indique le titre ca sert a lister les proc qui tourne donc rien a voir avec le temps d'execution d'un thread!!!
Suffit de connaitre un peu l'api windows pour s'en rendre compte de suite...
Citation :
Voici un bout de code trouver il y a longtemps sur internetProcédure ProcesNT()// Liste des process et modules sous NT// Ce module pour fonctionner correctement doit être lancer dans une// fenêtre disposant d'une table 'TABLE1' composer de 5 colonnes// id numérique entier (index dans la liste)// cProcessID texte// cProcessName texte// cModuleName texte// cPathName texte// Un interrupteur 'INTMODULE' permet de n'afficher// que les process (INTMODULE=0)// ou les process et modules correspondants (INTMODULE=1)//LOCAL idTabProcess est un tableau de 200 entiers longs Cb est un entier long=800 // taille en octets du tableau idTabProcess CbNeeded est un entier long NumElements est un entier long hTabModule est un tableau de 200 entiers longs Cb2 est un entier long=800 // taille en octets du tableau hTabModule CbNeeded2 est un entier long NumModules est un entier long Pname est une chaine FileName est une chaine fixe sur 260 BaseName est une chaine fixe sur 260 nSize est un entier long=260 // taille de FileName et BaseName lret,l1,l2 est un entier long hProcess est un entier long i,i2 est un entier long NumDll est un entier longNumDll=chargedll('PSAPI.DLL')si NumDll=0 alors erreur('La dll PSAPI n'a pas été chargée') renvoyer fauxfin//// The EnumProcesses function retrieves the process identifier// for each process object in the system.//// BOOL EnumProcesses(// DWORD * lpidProcess, // array to receive the process identifiers// DWORD cb, // size of the array// DWORD * cbNeeded // receives the number of bytes returned// );Lret=appeldll32('PSAPI.DLL','EnumProcesses',&idTabProcess,Cb,&CbNeeded)NumElements=CbNeeded/4 // Taille renvoyée divisée par la taille d'unentier long (4 octets)Pour i=1 a NumElements // // The OpenProcess function returns a handle to an existing process object. // // HANDLE OpenProcess( // DWORD dwDesiredAccess, // access flag // BOOL bInheritHandle, // handle inheritance flag // DWORD dwProcessId // process identifier // ); //HProcess=appeldll32('KERNEL32.DLL','OpenProcess',oubinaire(1024,16),0,idTabProcess[i]) si HProcess<>0 alors // On a un processus. On va rechercher ses modules. // // The EnumProcessModules function retrieves a handle for each module // in the specified process. // // BOOL EnumProcessModules( // HANDLE hProcess, // handle to the process // HMODULE * lphModule, // array to receive the module handles // DWORD cb, // size of the array // LPDWORD lpcbNeeded // receives the number of bytes returned // ); // Process_Query_Information=1024 // Process_All_Access=16 //Lret=Appeldll32('PSAPI.DLL','EnumProcessModules',Hprocess,&hTabModule,Cb2,&CbNeeded2) si LRet<>0 alors NumModules=CbNeeded2/4 SI INTMODULE=0 alors NumModules=1 Pour i2=1 a NumModules // The GetModuleBaseName function retrieves the base name of thespecified module. // //DWORD GetModuleBaseName( // HANDLE hProcess, // handle to the process // HMODULE hModule, // handle to the module // LPTSTR lpBaseName, // buffer that receives the base name // DWORD nSize // size of the buffer //); L1=Appeldll32('PSAPI.DLL','GetModuleBaseNameA',HProcess,hTabModule[i2].... ,&BaseName,nSize) SI L1=0 alors BaseName='' Si i2=1 alors Pname=minuscule(BaseName[[1 à L1]]) // // The GetModuleFileNameEx function retrieves the fully qualified path // for the specified module. // // DWORD GetModuleFileNameEx( // HANDLE hProcess, // handle to the process // HMODULE hModule, // handle to the module // LPTSTR lpFilename, // buffer that receives the path // DWORD nSize // size of the buffer // ); //L2=Appeldll32('PSAPI.DLL','GetModuleFileNameExA',HProcess,hTabModule[i2] ... ,&FileName,nSize) Si L2=0 alors FileName='' TABLEAJOUTE('TABLE1',i+i2/1000+TAB+idTabProcess[i]+TAB+PName+... TAB+Minuscule(BaseName[[1 à L1]])+... tab+Minuscule(FileName[[1 a L2]])) fin fin LRet=Appeldll32('KERNEL32.DLL','CloseHandle',HProcess) FINfinsi NumDll<>0 alors dechargedll(NumDll)fin


Pas grave.

SInon pour le dernier posteur merci mais je connaissais deja ces réponses la , en fait je voulais savoir si windev intégré ce genre de fontion(7.5) a priori non donc a priori je serais forcé de passer par l'api mon but etant de faire du w_l langage std sans passer par l'api win.

Sinon bien evidemment que les fonctions heuresys ne sont pas faites pour ça pour la raison que j'ai évoqué plus haut.

PS : [MODERE]

Contribution le : 07/09/2004 09:38
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Mea culpa...
Il va falloir en passer par l'api que je ne connais effectivement pas (mais je suis curieux).
Quid du code C pour exploiter la dll ? ne donne-t il pas l'info voulue ?

Dans le cas contraire, je vous invite à faire un tour sur le net sur ce sujet... ou tester wd8

Contribution le : 07/09/2004 09:58
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Mesurer temps d'execution WINDEV 7.5
Developpeur WDF
Inscrit:
26/07/2004 09:01
Post(s): 127
Bon donc en fait ce que je n'avais pas compris
c'est que tu voulais identifier immédiatement
l'information qui t'intéressait.
De mon point de vue le fait de lister les processus permet,
comme on sait quel exe l'on souhaite "mesurer",
de recuperer facilement le tps UC.
Mais de toute facon il doit bien y avoir un moment où
un parcours des processus s'effectue, y a qu'a le faire
en assembleur.

Sinon je tiens a préciser qd même que la signature,
c'est à prendre en compte sérieusement pour tous mes messages.

PS: euh désolé pour ma réaction agressive, il m'arrive
d'être un peu susceptible desfois, comme ça, sans réelle
motivation, pour le plaisir koi, ben comme tout le monde, non?
PS2:bon aussi je suis un peu cynique? Ah oui?

En tout cas bonne chance, g cherché, et g pas trouvé
ce que tu voulais précisément, dommage pasque c intéressant
comme truc.



Contribution le : 07/09/2004 11:28
_________________
Faut pas trop se prendre au sérieux ...
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
(1) 2 »




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2