30 juin 2009

Des infos de debug dans le panneau de Trace

J'ai activé le panneau de trace de WinDev pour essayer, et c'est vrai que je me dis que je suis vraiment un âne de ne pas l'avoir utiliser avant. Alors voici les intérêts qui m'ont convaincus :
- Le contenu de la trace est visible à la fin du go
- On peut double cliquer sur une trace et ça se positionne à l'endroit de l'appel dans le code (manque plus que la pile ;-))
- On voit les erreurs non fatales non gérés (échec de l'ouverture d'un fichier par exemple).

Si vous n'avez jamais essayé, à mon humble avis, ce serait pas mal de le faire...

16 juin 2009

Temps d'exécution d'une requête

Alors que j'étais en phase d'optimisation, je suis tombé sur un problème que j'avais déjà rencontré : connaitre le temps total d'exécution d'une requête.
Sur une base client/serveur, c'est relativement facile (en tout cas on a les logs), mais sur une base locale "à l'ancienne" ça devient plus compliqué.

Sur une requête de comptage, tout se passe en effet simplement, un coup de profile ou deux appels aux fonctions chrono et l'affaire est dans le sac. Mais sur une requête classique de sélection, souvent c'est le premier appel "de lecture" qui prend du temps et non le temps d'exécution de la requête. Je suppose que ça doit être lié au positionnement dans les fichiers ou la montée en cache, mais j'aimerai en être sur : est-ce qu'en prenant le temps d'exécution de la requête et la première lecture par Hlitpremier on a le temps total d'exécution de la requête ?

Si vous avez une expérience sur le sujet je suis preneur !

Le ruban on s'y fait et même plutôt vite !

Le ruban, j'étais sceptique (mauvais souvenir de l'apparition du ruban sous Office sûrement), mais après quelques hésitations, surto...