begin process at 2010 02 10 02:05:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > CINQ ASTUCES POUR BOOSTER LES PERFORMANCES

CINQ ASTUCES POUR BOOSTER LES PERFORMANCES


 Information sur la source

Note :
8,7 / 10 - par 10 personnes
8,70 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :22/08/2002 Date de mise à jour :22/08/2002 12:02:58 Vu :6 038

Auteur : Jackboy

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description


Source

  • Même s'il y a peu de chances que Visual Basic égale un jour les éblouissantes performances de C++ ou de Delphi, il offre en temps normal des résultats honorables. Mais dans certains cas, des performances simplement "honorables" ne suffisent pas. Voici cinq astuces d'optimisation des performances que vous pouvez mettre en oeuvre dans vos propres applications lorsque la vitesse est un enjeu crucial.
  • Attention: risques de problèmes de clarté du code!
  • N'oubliez pas qu'en règle générale, les performances sont obtenues aux dépens de la lisibilité. Toutes les bonnes habitudes que vous avez prises pour écrire un code lisible et compréhensible pèsent souvent sur la rapidité (et l'utilisation mémoire, mais ceci est une autre histoire). Inversement, toutes les astuces que je vais vous dévoiler ici compromettent généralement la clarté du code. Par conséquent, il est important de bien mettre en balance les gains en performances et les risques d'obscurcissement du code. Pensez également à commenter généreusement votre code lorsque vous l'optimisez : laissez toujours des indices aux développeurs qui prendront le relais.
  • Gosub: vous avez dit grotesque?
  • Nous avons sans doute tous entendu dire que l'instruction Gosub était à proscrire à tout prix. Il est nettement préférable, dans un souci de clarté et de réutilisation, d'insérer le code d'un sous-programme dans sa propre procédure Sub ou Function. Mais repensez au petit exposé que je viens de faire à propos de l'optimisation des performances aux dépens de la lisibilité du code. Voici un bon exemple de ce compromis: le fait de remplacer une instruction Sub ou Function utilitaire fréquemment appelée par un ensemble de sous-programmes locaux, du type de ceux que vous écririez à l'aide d'une instruction Gosub, peut tripler la vitesse d'exécution de votre code.
  • Pour quelle raison? L'appel d'une fonction relève d'un processus relativement coûteux: VB doit en effet conserver le contexte du code appelant (valeurs des variables, point d'exécution en cours, etc.), transférer les éventuels arguments vers la pile, puis localiser le point d'entrée de la fonction dans la mémoire avant de l'appeler. Les sous-programmes locaux, en revanche, n'ont pas de telles exigences en matière de temps système, car ils ne requièrent aucune pile de variables.
  • Bien entendu, vous pourriez quasiment obtenir le même résultat en écrivant le code que vous avez placé en ligne dans vos fonctions ou sous-programmes utilitaires. Toutefois, si l'application que vous obtenez au final s'avère beaucoup trop lente, il est généralement plus simple de copier des blocs Gosub dans votre code que de réécrire le bloc de code proprement dit.
  • Utilisez des types de variables appropriés
  • Lorsque vous écrivez du code, assurez-vous que les types de variables déclarées sont adaptés à l'utilisation prévue. Par exemple, ne déclarez pas une variable de compteur de boucles en tant que Variant, mais utilisez plutôt un type numérique natif. De même, lorsque vous travaillez avec des objets, déclarez chaque fois que possible le type réel de l'objet plutôt que des variables Object génériques, afin de tirer profit des gains de performances offerts par une liaison anticipée.
  • D'accord, j'admets que ces astuces tombent plutôt sous le sens. Toutefois, saviez-vous que tous les types numériques ne sont pas créés de la même façon, et que les différences qui les caractérisent peuvent s'avérer quelque peu déconcertantes? Ainsi, l'exécution d'une boucle For... Next contrôlée par une variable Byte (1 octet) sera légèrement plus longue qu'une boucle équivalente contrôlée par une variable Integer (4 octets).
  • La boucle est bouclée
  • Puisque nous avons abordé le sujet des boucles For, lorsque vous travaillez avec des collections ou d'autres types d'objets qui les prennent en charge, utilisez For Each... Next au lieu de For... Next ; la première instruction accroît la vitesse d'exécution de 33 % environ par rapport à la seconde.
  • La raison en est vraiment très simple. En utilisant For Each, VB n'a besoin de localiser l'adresse de la variable objet qu'une seule fois, au début de la boucle. Dans un scénario For... Next, en revanche, la référence à la variable objet est répétée dans le corps de la boucle à chaque itération. L'emploi adéquat d'une instruction With permet d'obtenir les mêmes résultats.
  • Désactiver les mises à jour des interfaces graphiques
  • La création d'interfaces graphiques avec VB s'avère d'une grande simplicité, notamment parce que l'aspect des contrôles est automatiquement dessiné et mis à jour en fonction des propriétés que vous configurez dans VB. Malheureusement, lors de l'exécution d'une longue opération entraînant la mise à jour d'un contrôle, ces gadgets pourtant bien intentionnés peuvent finir par vous desservir lorsqu'un contrôle persiste à se redessiner après chaque mise à jour, ralentissant ainsi considérablement le traitement.
  • Les formulaires et les contrôles d'image sont dotés d'une propriété AutoRedraw qui permet de désactiver cette fonction et d'empêcher le contrôle de se redessiner tant que vous n'avez pas fini de travailler sur ce dernier. Mais que faire dans le cas de contrôles dépourvus d'une propriété AutoRedraw?
  • L'interface de programmation d'applications (API) de messagerie Windows offre une solution. La fonction SendMessage de l'API vous permet d'envoyer le message WM_REDRAW (&HB) à un contrôle pour définir s'il sera redessiné automatiquement ou non. La transmission de la valeur False ou zéro par le biais de l'argument wParam désactive le dessin automatique, tandis qu'une valeur True ou différente de zéro le réactive. La désactivation de la fonction de mise à jour du dessin permet d'accélérer considérablement une multitude d'opérations de formatage des contrôles. Elle peut également contribuer à améliorer l'aspect de votre application.
  • Optimisations avancées du compilateur
  • Depuis VB5, les développeurs peuvent mieux contrôler le compilateur VB. Il est possible de compiler l'application au format p-code (pseudo-code) traditionnel, lequel est en grande partie interprété au moment de l'exécution, ou de la compiler en tant que véritable code Win32 natif. La compilation sous forme de code natif offre une optimisation de la vitesse rapide, fiable et aisée, garantissant un traitement environ 20 fois plus rapide qu'avec le format p-code. Toutefois, notez qu'une petite poignée de bugs très mystérieux sont associés à la compilation en code natif.
  • Il y a de grandes chances pour que vous compiliez déjà en code natif (et optimisiez la vitesse de compilation), car il s'agit là du paramétrage par défaut de la boîte de dialogue Options de VB6. Cette version propose également un bouton Optimisations avancées, qui offre quelques options supplémentaires. Vous pouvez utiliser ces dernières pour accélérer la vitesse d'exécution de votre code dans certaines conditions.
  • Étant donné que nous parlons ici des commutateurs du compilateur, notez que vous devrez compiler votre application en totalité et l'exécuter hors de l'environnement de développement intégré (IDE) de VB pour constater une amélioration de la vitesse. Pour chacune de ces optimisations, le compilateur effectue certaines suppositions radicalement différentes concernant votre code et la façon dont vous l'avez écrit ; il supprime alors certaines vérifications et protections pour optimiser les performances. Dans tous les cas, ces commutateurs modifient le comportement du code VB compilé ; utilisez-les donc avec précaution.
  • Examinons rapidement l'effet de chacune de ces optimisations:
  • L'option Pas d'utilisation d'alias indique au compilateur que vous n'utiliserez pas deux noms différents pour le même emplacement mémoire dans les différentes parties de votre application, autrement dit que vous ne transmettrez pas de variables ByRef. Grâce à cette information, le compilateur peut effectuer diverses optimisations telles que le stockage de variables et d'arguments de fonctions dans des registres plutôt que dans la pile, améliorant ainsi les performances.
  • L'option Supprimer les contrôles de limites de tableaux empêche le compilateur de vérifier que tous les index de tableau que vous spécifiez sont corrects. Chaque fois que votre code crée un index dans un tableau, VB vérifie que l'index que vous avez fourni est compris dans les limites déclarées du tableau. Si ce n'est pas le cas, VB génère un message d'erreur plutôt que de vous permettre d'accéder à un emplacement mémoire en dehors du tableau et de risquer de bloquer votre application. En supprimant le contrôle de ces limites de tableaux, vous indiquez à VB de ne pas procéder à une double vérification des index de vos tableaux et de supposer que ces derniers sont systématiquement corrects. Si votre code effectue de nombreuses manipulations de tableaux, le choix de cette option d'optimisation peut augmenter sensiblement la vitesse d'exécution de votre application. Toutefois, dans ces conditions, procédez à une troisième vérification des index de vos tableaux.
  • L'option Supprimer les contrôles de dépassement sur les entiers indique au compilateur de ne pas vérifier que les valeurs que vous attribuez aux variables de type entier (Byte, Integer, Long et Currency) sont comprises dans la plage de valeurs autorisée pour ce type. VB procède à cette vérification chaque fois qu'une opération mathématique est réalisée sur des nombres entiers. La désactivation de ces contrôles peut accélérer les opérations mathématiques sur les entiers. Toutefois, tout résultat en dehors de la plage de valeurs autorisée sera considéré comme incorrect et l'opération sera alors appliquée à l'extrémité opposée de la plage de valeurs. Par exemple, l'ajout de la valeur 1 à un entier défini à 32767 produira le résultat -32766.
  • L'option Supprimer les contrôles d'erreurs en virgule flottante fonctionne de la même façon que l'optimisation des contrôles de dépassement sur les entiers décrite ci-dessus, mais s'applique aux types de variables en virgule flottante (Single et Double).
  • L'option Autoriser les opérations en virgule flottante non arrondies permet au compilateur de ne pas arrondir les nombres en virgule flottante avec la même précision avant de les comparer, offrant ainsi un léger accroissement de la vitesse. Toutefois, cette optimisation peut produire des résultats imprévus lors de certaines comparaisons d'égalité exacte entre les variables en virgule flottante, du fait d'une différence de précision entre les deux variables comparées.
  • L'option Supprimer les contrôles Safe Pentium FDIV supprime le code supplémentaire ajouté par le compilateur pour compenser le bug relatif aux divisions en virgule flottante, découvert dans les processeurs Pentium il y a quelques années. La suppression du code Safe Pentium permettra le plus souvent d'accélérer les opérations de division en virgule flottante mais, bien sûr, si votre code s'exécute sur un poste affecté par le bug en question, les résultats de certaines opérations risquent d'être incorrects. Par conséquent, je déconseille cette option d'optimisation, sauf si vous êtes absolument certain que votre code ne s'exécutera jamais sur un processeur buggé (peut-être au sein d'un atelier exploitant uniquement AMD).
  • Toujours veiller au choix des algorithmes
  • Les astuces que je fournis ici peuvent vous permettre de tirer les performances optimales d'une application. Toutefois, il est généralement préférable de surveiller les performances du début à la fin du traitement, et ce, en vous appuyant sur des algorithmes efficaces et des stratégies soigneusement étudiées. Mieux vaut prévenir que guérir!
Même s'il y a peu de chances que Visual Basic égale un jour les éblouissantes performances de C++ ou de Delphi, il offre en temps normal des résultats honorables. Mais dans certains cas, des performances simplement "honorables" ne suffisent pas. Voici cinq astuces d'optimisation des performances que vous pouvez mettre en oeuvre dans vos propres applications lorsque la vitesse est un enjeu crucial.


Attention: risques de problèmes de clarté du code! 

N'oubliez pas qu'en règle générale, les performances sont obtenues aux dépens de la lisibilité. Toutes les bonnes habitudes que vous avez prises pour écrire un code lisible et compréhensible pèsent souvent sur la rapidité (et l'utilisation mémoire, mais ceci est une autre histoire). Inversement, toutes les astuces que je vais vous dévoiler ici compromettent généralement la clarté du code. Par conséquent, il est important de bien mettre en balance les gains en performances et les risques d'obscurcissement du code. Pensez également à commenter généreusement votre code lorsque vous l'optimisez : laissez toujours des indices aux développeurs qui prendront le relais.


Gosub: vous avez dit grotesque? 

Nous avons sans doute tous entendu dire que l'instruction Gosub était à proscrire à tout prix. Il est nettement préférable, dans un souci de clarté et de réutilisation, d'insérer le code d'un sous-programme dans sa propre procédure Sub ou Function. Mais repensez au petit exposé que je viens de faire à propos de l'optimisation des performances aux dépens de la lisibilité du code. Voici un bon exemple de ce compromis: le fait de remplacer une instruction Sub ou Function utilitaire fréquemment appelée par un ensemble de sous-programmes locaux, du type de ceux que vous écririez à l'aide d'une instruction Gosub, peut tripler la vitesse d'exécution de votre code.

Pour quelle raison? L'appel d'une fonction relève d'un processus relativement coûteux: VB doit en effet conserver le contexte du code appelant (valeurs des variables, point d'exécution en cours, etc.), transférer les éventuels arguments vers la pile, puis localiser le point d'entrée de la fonction dans la mémoire avant de l'appeler. Les sous-programmes locaux, en revanche, n'ont pas de telles exigences en matière de temps système, car ils ne requièrent aucune pile de variables.

Bien entendu, vous pourriez quasiment obtenir le même résultat en écrivant le code que vous avez placé en ligne dans vos fonctions ou sous-programmes utilitaires. Toutefois, si l'application que vous obtenez au final s'avère beaucoup trop lente, il est généralement plus simple de copier des blocs Gosub dans votre code que de réécrire le bloc de code proprement dit.


Utilisez des types de variables appropriés

Lorsque vous écrivez du code, assurez-vous que les types de variables déclarées sont adaptés à l'utilisation prévue. Par exemple, ne déclarez pas une variable de compteur de boucles en tant que Variant, mais utilisez plutôt un type numérique natif. De même, lorsque vous travaillez avec des objets, déclarez chaque fois que possible le type réel de l'objet plutôt que des variables Object génériques, afin de tirer profit des gains de performances offerts par une liaison anticipée.

D'accord, j'admets que ces astuces tombent plutôt sous le sens. Toutefois, saviez-vous que tous les types numériques ne sont pas créés de la même façon, et que les différences qui les caractérisent peuvent s'avérer quelque peu déconcertantes? Ainsi, l'exécution d'une boucle For... Next contrôlée par une variable Byte (1 octet) sera légèrement plus longue qu'une boucle équivalente contrôlée par une variable Integer (4 octets).


La boucle est bouclée
Puisque nous avons abordé le sujet des boucles For, lorsque vous travaillez avec des collections ou d'autres types d'objets qui les prennent en charge, utilisez For Each... Next au lieu de For... Next ; la première instruction accroît la vitesse d'exécution de 33 % environ par rapport à la seconde.

La raison en est vraiment très simple. En utilisant For Each, VB n'a besoin de localiser l'adresse de la variable objet qu'une seule fois, au début de la boucle. Dans un scénario For... Next, en revanche, la référence à la variable objet est répétée dans le corps de la boucle à chaque itération. L'emploi adéquat d'une instruction With permet d'obtenir les mêmes résultats. 


Désactiver les mises à jour des interfaces graphiques
La création d'interfaces graphiques avec VB s'avère d'une grande simplicité, notamment parce que l'aspect des contrôles est automatiquement dessiné et mis à jour en fonction des propriétés que vous configurez dans VB. Malheureusement, lors de l'exécution d'une longue opération entraînant la mise à jour d'un contrôle, ces gadgets pourtant bien intentionnés peuvent finir par vous desservir lorsqu'un contrôle persiste à se redessiner après chaque mise à jour, ralentissant ainsi considérablement le traitement.

Les formulaires et les contrôles d'image sont dotés d'une propriété AutoRedraw qui permet de désactiver cette fonction et d'empêcher le contrôle de se redessiner tant que vous n'avez pas fini de travailler sur ce dernier. Mais que faire dans le cas de contrôles dépourvus d'une propriété AutoRedraw?

L'interface de programmation d'applications (API) de messagerie Windows offre une solution. La fonction SendMessage de l'API vous permet d'envoyer le message WM_REDRAW (&HB) à un contrôle pour définir s'il sera redessiné automatiquement ou non. La transmission de la valeur False ou zéro par le biais de l'argument wParam désactive le dessin automatique, tandis qu'une valeur True ou différente de zéro le réactive. La désactivation de la fonction de mise à jour du dessin permet d'accélérer considérablement une multitude d'opérations de formatage des contrôles. Elle peut également contribuer à améliorer l'aspect de votre application.


Optimisations avancées du compilateur
Depuis VB5, les développeurs peuvent mieux contrôler le compilateur VB. Il est possible de compiler l'application au format p-code (pseudo-code) traditionnel, lequel est en grande partie interprété au moment de l'exécution, ou de la compiler en tant que véritable code Win32 natif. La compilation sous forme de code natif offre une optimisation de la vitesse rapide, fiable et aisée, garantissant un traitement environ 20 fois plus rapide qu'avec le format p-code. Toutefois, notez qu'une petite poignée de bugs très mystérieux sont associés à la compilation en code natif.

Il y a de grandes chances pour que vous compiliez déjà en code natif (et optimisiez la vitesse de compilation), car il s'agit là du paramétrage par défaut de la boîte de dialogue Options de VB6. Cette version propose également un bouton Optimisations avancées, qui offre quelques options supplémentaires. Vous pouvez utiliser ces dernières pour accélérer la vitesse d'exécution de votre code dans certaines conditions.

Étant donné que nous parlons ici des commutateurs du compilateur, notez que vous devrez compiler votre application en totalité et l'exécuter hors de l'environnement de développement intégré (IDE) de VB pour constater une amélioration de la vitesse. Pour chacune de ces optimisations, le compilateur effectue certaines suppositions radicalement différentes concernant votre code et la façon dont vous l'avez écrit ; il supprime alors certaines vérifications et protections pour optimiser les performances. Dans tous les cas, ces commutateurs modifient le comportement du code VB compilé ; utilisez-les donc avec précaution.

Examinons rapidement l'effet de chacune de ces optimisations:


L'option Pas d'utilisation d'alias indique au compilateur que vous n'utiliserez pas deux noms différents pour le même emplacement mémoire dans les différentes parties de votre application, autrement dit que vous ne transmettrez pas de variables ByRef. Grâce à cette information, le compilateur peut effectuer diverses optimisations telles que le stockage de variables et d'arguments de fonctions dans des registres plutôt que dans la pile, améliorant ainsi les performances. 


L'option Supprimer les contrôles de limites de tableaux empêche le compilateur de vérifier que tous les index de tableau que vous spécifiez sont corrects. Chaque fois que votre code crée un index dans un tableau, VB vérifie que l'index que vous avez fourni est compris dans les limites déclarées du tableau. Si ce n'est pas le cas, VB génère un message d'erreur plutôt que de vous permettre d'accéder à un emplacement mémoire en dehors du tableau et de risquer de bloquer votre application. En supprimant le contrôle de ces limites de tableaux, vous indiquez à VB de ne pas procéder à une double vérification des index de vos tableaux et de supposer que ces derniers sont systématiquement corrects. Si votre code effectue de nombreuses manipulations de tableaux, le choix de cette option d'optimisation peut augmenter sensiblement la vitesse d'exécution de votre application. Toutefois, dans ces conditions, procédez à une troisième vérification des index de vos tableaux. 


L'option Supprimer les contrôles de dépassement sur les entiers indique au compilateur de ne pas vérifier que les valeurs que vous attribuez aux variables de type entier (Byte, Integer, Long et Currency) sont comprises dans la plage de valeurs autorisée pour ce type. VB procède à cette vérification chaque fois qu'une opération mathématique est réalisée sur des nombres entiers. La désactivation de ces contrôles peut accélérer les opérations mathématiques sur les entiers. Toutefois, tout résultat en dehors de la plage de valeurs autorisée sera considéré comme incorrect et l'opération sera alors appliquée à l'extrémité opposée de la plage de valeurs. Par exemple, l'ajout de la valeur 1 à un entier défini à 32767 produira le résultat -32766.


L'option Supprimer les contrôles d'erreurs en virgule flottante fonctionne de la même façon que l'optimisation des contrôles de dépassement sur les entiers décrite ci-dessus, mais s'applique aux types de variables en virgule flottante (Single et Double). 


L'option Autoriser les opérations en virgule flottante non arrondies permet au compilateur de ne pas arrondir les nombres en virgule flottante avec la même précision avant de les comparer, offrant ainsi un léger accroissement de la vitesse. Toutefois, cette optimisation peut produire des résultats imprévus lors de certaines comparaisons d'égalité exacte entre les variables en virgule flottante, du fait d'une différence de précision entre les deux variables comparées. 


L'option Supprimer les contrôles Safe Pentium FDIV supprime le code supplémentaire ajouté par le compilateur pour compenser le bug relatif aux divisions en virgule flottante, découvert dans les processeurs Pentium il y a quelques années. La suppression du code Safe Pentium permettra le plus souvent d'accélérer les opérations de division en virgule flottante mais, bien sûr, si votre code s'exécute sur un poste affecté par le bug en question, les résultats de certaines opérations risquent d'être incorrects. Par conséquent, je déconseille cette option d'optimisation, sauf si vous êtes absolument certain que votre code ne s'exécutera jamais sur un processeur buggé (peut-être au sein d'un atelier exploitant uniquement AMD).


Toujours veiller au choix des algorithmes

Les astuces que je fournis ici peuvent vous permettre de tirer les performances optimales d'une application. Toutefois, il est généralement préférable de surveiller les performances du début à la fin du traitement, et ce, en vous appuyant sur des algorithmes efficaces et des stratégies soigneusement étudiées. Mieux vaut prévenir que guérir!
 



 Sources du même auteur

Source avec Zip SÉCURISER DU TEXTE DANS UN PROG
Source avec Zip FAIRE SONNER LE TÉLÉPHONE
Source avec Zip RÉCUPÉRER LES ATTIBUTS DES FICHIERS RAPIDEMENT
Source avec Zip UN DICTIONNAIRE SUR LE VB ET AUTRE
Source avec Zip Source avec une capture NUKE

 Sources de la même categorie

AFFICHAGE SOUS EXCEL DE LA LISTE DES ' DES GROUPES par djebbipgm
AFFECTATION D'UNE ICÔNE À UN DOSSIER DANS L'EXPLORATEUR par djebbipgm
Source avec Zip CREATION DE GADGET EN VB6 par djebbipgm
Source avec Zip Source avec une capture CAPTEUR DE HANDLE, DE TITRE, DE CLASS, DE POSITION DE TAILLE... par Sechaud
Source avec Zip Source avec une capture COULEUR DANS UN RICHTEXTBOX SANS MODIFIER SELSTART OU SELLEN... par Renfield

Commentaires et avis

Commentaire de RJLFRANCE le 22/08/2002 15:16:10

Vraiment super de donnez toutes ces indications MERCI
Optimiser , il n'y que sa ,chez les bons programmeurs

Commentaire de AlBud le 22/08/2002 16:22:15

Super! ca serait cool la même chose pour les requetes SQL (éviter les NOT IN, créer un arbre pour élaguer au plus bas de la requete..) , ou l'utilisation des recordset ADO.

Commentaire de linkwang le 23/08/2002 06:35:46

Bon, c'est assez cool, mais il faut faire hyper attention, avec les becanes qu'on a a notre dispo aujourd'hui, la priorite est de penser au mec qui relira notre boulot, moi maintenant, je n'optimise que quand  c'est vraiment indispensable, pasque qd on relit un vieux source optimiser, la, moi , j'optimise plus du tout...
Mais sinon, c'est pas mal fait. Par Contre, optimiser du SQL, ca depend de trop de parametre. A mon sens, selon la charge du serveur, une requete 'optimise' un jour, risque de ne plus l'etre le lendemain, selon le chemin qu'elle va prendre...

Commentaire de mehdibou le 23/08/2002 15:22:01

Pour la phrase "Même s'il y a peu de chances que Visual Basic égale un jour les éblouissantes performances de C++ ou de Delphi", c'est juste pr VB mais faux pr VB.net car sous VS.net, tous les langages sont convertis dans un seul langage communs avant la compilation. C'est d'ailleurs pr ça qu'il n'y a qu'une runtime commune.
Mais, ... VB.net, ce n'est plus VB !

8/10 pour les explications techniques.

Commentaire de xave le 24/08/2002 09:24:54

Bravo très interressant. Il serait peut-être utilile de rajouter une catégorie optimisation au site

Commentaire de Afyn le 24/12/2002 07:45:32

La rubrique optimisation de code existe, il serait sympa de reclasser ce code.
A+
Afyn

Commentaire de greg13 le 22/05/2003 18:24:51

Ce "code" peut être éfficase dans certain cas mais tu aurais du parler des références que l'on peut enlever afin d'avoir un executable beaucoup plus petit.

Commentaire de Zeroc00l le 28/06/2003 12:43:25

Super ! Ca c'est de la vrai optimisation à proprement parler !
Il n'y en a que trop peu sur ce site !
Je ne dis pas non à d'autres astuces & explications ( poussés ). :)
ZeroCool

Commentaire de TomIlliev le 18/08/2003 23:18:46

Salut,
J'ai bien lu ton long exposé, je suis fortement interréssé par le passage sur l'optimisation au niveau de l'affichage.
Pourrais tu me donner plus de détails pour empécher le dessin de controls sur une feuillle lors de l'événement Rezise et pour redessiner le tout aprés.

Commentaire de Lolux le 20/04/2004 13:30:22

Dans un premier temps j'ai été supris par la qualité et la clareté du texte, choses qui deviennent rare sur ce site. Le sujet est suffisament rarement abordé pour que cette source face l'objet de toute notre attention et c'est encore mieux quand c'est bien écrit.

Sur le coup, et comme ton article répondait à 200% à mes attentes, je t'ai attribué une exellente note, et je le répète, ton article le mérite.
Je suis donc allé voir tes autres sources pour profiter un peu plus de tes compétances. Mais rapidement qq chose m'a chiffonné... Comment ce JackBoy qui était capable d'écrire un article complet sans une seule faute et prendre aussi peu de soin à décrire ses autres sources et commentaires. Et c'est toute la modestie que tu dégage sur la photo qui te sert d'avatar qui m'a poussée à continuer un peu plus mon enquête.
J'ai donc copié un bout de ton texte que j'ai collé dans "google" ("Toujours veiller au choix des algorithmes") et quelle ne fut pas ma surprise !?
Seulement deux réponses. l'une pointait vers ton article sur vbfrance et l'autre vers l'adresse suivante :
http://www.zdnet.fr/builder/programmation/developpement/0,39020927,2125299,00.htm

Même titre, même texte mais auteur différent... te serai tu fait plagié ? bha non ton poste est plus récent que l'article de ZDNet.
M**D* ! c'est toi l'imposteur !

Jackboy... Jackboy... Jackboy... tu sais pourtant que c'est pas bien de poster des trucs de tels sorte que l'on puisse croire que c'est toi qui les a écrit... rapplons nous ce pauvre loser qui avait posté un source tout fait lors du derniers concours vbfrance... pour ta défence c'est vrai aussi que tu ne dis pas non plus que c'est toi l'auteur de ce texte et d'ailleur tu ne la ramène pas beaucoup face aux éloges de tes petits camarades.

Enfin... plus d'un ans et demi après ton méfait, rendons à césar ce qui revient à césar et rendons à Lamont Adams ce qui lui reviens : son nom en bas de cet article.

Et que l'on ne t'y reprène plus Jackboy !

Commentaire de Lolux le 20/04/2004 13:32:03

PS : Je suis un cousin de derrick et le frère de magnum ! si si !

Commentaire de Jackboy le 29/04/2004 14:55:17

héhé Lolux désoler de te déplaire, mais comme tu le dit si bien je n'ai pas écrit cette infos... j'étais certain d'avoir encore le lien qque part, mais non j'avais cette infos sur mon pc et sans lien vers le site (lequel donc encore), donc poster tel quel, un beau copier coller pour faire bénéficier les prog de cette infos, donc désoler de t'avoir froissé dans ta moralité Lolux........

jackboy

Commentaire de Lolux le 29/04/2004 17:43:49

Mais ya pas soucis ;p)

C'est le manque d'humilité de certainnes personnes sur ce site qui commence à m'exaspérer et malheureusement j'ai craqué sur ton post alors que j'aurai pu m'abstenir c'est vrai car cet article reste malgré tout très interressant (c'est de plus en plus rare) et je t'en remercie vu que je n'aurai pas eu l'info sans ça.

Ne prend pas mes remarques pour toi, je rappel une fois de plus que c'était dans l'ennervement (maintenant je suis calmé ;p) )

Bonne continuation,

Lolux

Commentaire de romit le 20/09/2004 19:02:26

Heuuuuu VISUAL BASIC est mille fois meilleur en touts que delphi !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales