Accélérer le lancement des applications

Trucs et astuces , tutorials sous windev

Accélérer le lancement des applications

Messagepar TheDuke » Mar Mar 23, 2010 7:17 am

Par facilité on place régulièrement la fonction "HCréationSiInexistant" au début des applications pour s'assurer de la création systématique de tous les fichiers de données. Le piège, la base grandissante, est d'avoir une attente importante lors de cet appel, car il provoque une ouverture de tous les fichiers de données. Et l'ouverture initiale des fichiers fait partie des opérations les plus coûteuses en temps.

Il y a une solution, presque miracle, c'est l'option "hOuvertureDifférée" de la fonction :

Code: Tout sélectionner
HCréationSiInexistant("*", hOuvertureDifférée)


En effet, le but escompté est atteint, car tous les fichiers restent créés automatiquement. Mais pour les fichiers existants, l'ouverture ne sera pas faite immédiatement. Elle sera différée à la première utilisation effective du fichier. On comprend aisément le gain de temps très appréciable puisque :
- le temps d'ouverture des fichiers est réparti au fil de l'application,
- seuls les fichiers réellement utilisés seront ouverts.
TheDuke
SUPER MEMBRE
 
Messages: 1205
Inscription: Mer Nov 22, 2006 8:24 pm

Advertisement

Re: Accélérer le lancement des applications

Messagepar tunidev » Mer Mar 31, 2010 9:27 am

effectivement c'est une bonne idée
Avatar de l’utilisateur
tunidev
Site Admin
 
Messages: 1304
Inscription: Mar Sep 02, 2003 1:23 pm

Re: Accélérer le lancement des applications

Messagepar omasabik » Lun Aoû 09, 2010 7:26 pm

TheDuke a écrit:Par facilité on place régulièrement la fonction "HCréationSiInexistant" au début des applications pour s'assurer de la création systématique de tous les fichiers de données. Le piège, la base grandissante, est d'avoir une attente importante lors de cet appel, car il provoque une ouverture de tous les fichiers de données. Et l'ouverture initiale des fichiers fait partie des opérations les plus coûteuses en temps.

Il y a une solution, presque miracle, c'est l'option "hOuvertureDifférée" de la fonction :

Code: Tout sélectionner
HCréationSiInexistant("*", hOuvertureDifférée)


En effet, le but escompté est atteint, car tous les fichiers restent créés automatiquement. Mais pour les fichiers existants, l'ouverture ne sera pas faite immédiatement. Elle sera différée à la première utilisation effective du fichier. On comprend aisément le gain de temps très appréciable puisque :
- le temps d'ouverture des fichiers est réparti au fil de l'application,
- seuls les fichiers réellement utilisés seront ouverts.


Oui,c'est une bonne idee.
omasabik
Nouveau Membre
 
Messages: 10
Inscription: Lun Aoû 09, 2010 7:03 pm

Re: Accélérer le lancement des applications

Messagepar emidev » Lun Aoû 09, 2010 9:34 pm

Bonjour,

en fait c'est le hcreation si inexistant qui prend ud temps et meme avec le différé c'est parfois aussi lent surtout quand on a 200 ou 300 fichiers HF le mieux est de mettre en place un mecanisme qui sait si les fichier existe ou non : je m'explique le prmier lancement de votre appli va cree avec le hcreation si inexistant tous les ficier

le deucieme lancement n'a pas besoin de ca il doit savoir que les fichiers sont la

et petite info il n'est pas necessaire d'ouvrir les fichiers (windev les ouvre s'ils ne sont pas ouverts lors d'une lecture) le seule probleme est la non existance d'un fichier. il est plus judicieux de mettre une iexception qui fera le hcreation si inexistant si lors de la lecture ca plante

ne pas oublier aussi qu'une mauvaise config sur l'appli qui atttend les fichiers a un endroit qu'elle ne devrait pas et il est preferable au lieu de les créer de controler la plante : je m'explique avec 300 fichiers hf si la config user n'et pas bonne car vous avez decidé de laisser au user le choix de l'emplacement des données de creer 300 fichiers n'importe ou !!
une erreur peut s'avérer exacte ! il suffit que celui qui la commise se soit trompé...

Bon dev
@+

Firetox
http://www.Emidev.fr

[PS] je ne repond pas au message privé[/PS]
emidev
Membre Confirmé
 
Messages: 597
Inscription: Lun Nov 16, 2009 10:05 am
Localisation: GRENOBLE



  • Advertisement

Retourner vers TRUCS & ASTUCES

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités