OVH Cloud OVH Cloud

Performance du code programme en imbriquant des opérations ?

8 réponses
Avatar
Teddy
Afin d'optimiser les temps de traitement, faut-il imbriquer des opérations sur une même ligne de
programme ou bien au contraire décomposer certains traitements.

Exemple :

x = UCase(Trim(z)) & y

ou bien :

x = Trim(z)
x = UCase(x)
x = x & z

8 réponses

Avatar
Jean-Claude BELLAMY
Dans le message news:OrN% ,
Teddy s'est ainsi exprimé:

Afin d'optimiser les temps de traitement, faut-il imbriquer des
opérations sur une même ligne de programme ou bien au contraire
décomposer certains traitements.
Exemple :

x = UCase(Trim(z)) & y

ou bien :

x = Trim(z)
x = UCase(x)
x = x & z


C'est identique !
- Dans le 1er cas il y a stockage des résultats intermédiaires
dans des emplacements mémoire variables temporaires,
- Dans le 2ème cas le stockage des résultats intermédiaires
est fait dans l'emplacement mémoire de x

Par contre, au niveau lisibilité, la 2ème écriture est nettement plus
agréable et compréhensible !
Donc privilégier l'être humain avant la machine ...


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*

Avatar
Jean
Bonjour,

Dans le premier cas vous utilisez toute la puissance du système de classes des languages orientés objet.
Il serait dommage de ne pas en profiter avec un language déjà aussi verbeux que VBScript.
La lecture du code n'en sera que plus agréable.

Dans le premier cas la taille de votre script sera moindre.
C'est certainement à prendre en compte lorsque votre projet atteint une taille importante.
Je ne parlerais donc pas de vitesse de traitement, mais de vitesse de chargement.

Concernant la vitesse de traitement j'avais vu quelques tests concernant l'instruction with, souvent utilisée (en VBScript et en
JScript) pour limiter la verbosité du code et qui semblait indiquer un perte de rendement lors de son utilisation.
Ce devait être de l'ordre de la nanoseconde si mes souvenirs sont bons :-)

Au final je dirais : "faites comme vous voulez", dans la mesure où le plus important est d'obtenir un code qui fonctionne.


Amicalement,

Jean - JMST
Belgium

"Teddy" a écrit dans le message de news: OrN%
Afin d'optimiser les temps de traitement, faut-il imbriquer des opérations sur une même ligne de programme ou bien au contraire
décomposer certains traitements.

Exemple :

x = UCase(Trim(z)) & y

ou bien :

x = Trim(z)
x = UCase(x)
x = x & z



Avatar
Daniel92
Bonjour,

"Jean" avait écrit dans ,
http://groups.google.fr/groups?threadm=OrN%
: Bonjour,
:

: [...] utilisez toute la puissance du système de classes des languages orientés objet.

** Ces notions de "langages orientés objet" et de "système de classes " sont apparues
après que j'aie quitté l'informatique, quelles en sont leurs définitions (sommaire) ?

Merci,
Cordialement,
Daniel.
====
Avatar
Teddy
Merci pour vos avis sur la question.

Teddy


"Teddy" a écrit dans le message de news:
OrN%
Afin d'optimiser les temps de traitement, faut-il imbriquer des opérations sur une même ligne de
programme ou bien au contraire décomposer certains traitements.

Exemple :

x = UCase(Trim(z)) & y

ou bien :

x = Trim(z)
x = UCase(x)
x = x & z



Avatar
Do Re Mi chel La Si Do
Bonsoir !

système de classes des languages orientés objet




Je suis en désaccord. Le système de classes doit être relié à la
programmation orientée objet, et non aux langages orientés objets.
Il existe des langages qui ont un excellent modèle objet, mais permettent
aussi de programmer (et d'accéder aux objets), sans utiliser la P.O.O.
(par exemple par la programmation fonctionnelle, ou par la programmation
procédurale).


Quand au terme "puissance", je suis réservé, mais n'ai pas d'avis définitif.

C'est un sujet éminemment polémique, avec des partisans, dans chaque camp,
dont les réactions épidermiques empêchent les saines discussions.





Au fait, où en est le langage F#, présenté par Microsoft, il y a quelques
temps, déjà ? Et AsmL (encore de MS) ? Et C-omega (toujours de MS) ?

Et, hop, une nouvelle intéressante : quelqu'un a essayé de faire tourner Boo
sur SharpDevelop (http://www.digitalcraftsmen.com.br/~rodrigob/sdshot2.png)
; pas mal, non ?



@-salutations
--
Michel Claveau



Avatar
Jean
Bonjour,

[réponse dans le texte]

"Do Re Mi chel La Si Do" a écrit dans le message de news:
%
Bonsoir !

système de classes des languages orientés objet




Je suis en désaccord. Le système de classes doit être relié à la
programmation orientée objet, et non aux langages orientés objets.
Il existe des langages qui ont un excellent modèle objet, mais permettent
aussi de programmer (et d'accéder aux objets), sans utiliser la P.O.O.
(par exemple par la programmation fonctionnelle, ou par la programmation
procédurale).



Je suis d'accord avec vous, je me suis mal exprimé.


Quand au terme "puissance", je suis réservé, mais n'ai pas d'avis définitif.


C'est un sujet éminemment polémique, avec des partisans, dans chaque camp,
dont les réactions épidermiques empêchent les saines discussions.



Evitons alors :-)





Au fait, où en est le langage F#, présenté par Microsoft, il y a quelques
temps, déjà ? Et AsmL (encore de MS) ? Et C-omega (toujours de MS) ?

Et, hop, une nouvelle intéressante : quelqu'un a essayé de faire tourner Boo
sur SharpDevelop (http://www.digitalcraftsmen.com.br/~rodrigob/sdshot2.png)
; pas mal, non ?



Il m'est difficile de donner un avis sur des choses que je ne connais pas (ou que de nom) :-)



@-salutations
--
Michel Claveau





Amicalement,

Jean - JMST
Belgium




Avatar
Jean
Bonjour,

Pour ne pas réécrire ce qui a déjà été bien dit j'en profite pour partager avec vous un site que l'on m'a fait découvrir récemment
et que je trouve vraiment bien foutu :
http://www.commentcamarche.net/poo/poointro.php3
(Ne pas oublier de cliquer sur les flèches au bas de l'article pour accéder aux notions d'héritage et de polymorphisme).

Ce site est peut être très connu, mais pour ceux qui ne connaissent pas je signale aussi que cette encyclopédie (sous licence GNU)
est disponible en
téléchargement pour une consultation hors ligne (ce qui est toujours appréciable avec ce genre d'ouvrage) :
http://www.commentcamarche.net/download/fichiers/ccm-2.0.4.exe (12,5 Mo)

Amicalement,

Jean - JMST
Belgium

"Daniel92" a écrit dans le message de news:

Bonjour,

"Jean" avait écrit dans ,
http://groups.google.fr/groups?threadm=OrN%
: Bonjour,
:

: [...] utilisez toute la puissance du système de classes des languages orientés objet.

** Ces notions de "langages orientés objet" et de "système de classes " sont apparues
après que j'aie quitté l'informatique, quelles en sont leurs définitions (sommaire) ?

Merci,
Cordialement,
Daniel.
=== >




Avatar
Daniel92
Bonjour,

*Jean* indique les références suivantes :

: Pour ne pas réécrire ce qui a déjà été bien dit j'en profite pour
: partager avec vous un site que l'on m'a fait découvrir récemment
: et que je trouve vraiment bien foutu :
: http://www.commentcamarche.net/poo/poointro.php3
: (Ne pas oublier de cliquer sur les flèches au bas de l'article
: pour accéder aux notions d'héritage et de polymorphisme).

** C'est exactement ce que je cherche! L'auteur à la bonne idée de
se raccrocher à des notions simples pour faciliter la compréhension.

: Ce site est peut être très connu, mais pour ceux qui ne connaissent
: pas je signale aussi que cette encyclopédie (sous licence GNU)
: est disponible en téléchargement pour une consultation hors ligne
: (ce qui est toujours appréciable avec ce genre d'ouvrage) :
: http://www.commentcamarche.net/download/fichiers/ccm-2.0.4.exe
: (12,5 Mo)

** Je l'ai téléchargé (bloqué une redirection avec spybot/tea-timer,
je verrai à l'usage si j'en avais besoin). La documentation est
tellement dense que je passe souvent à côté de pages intéressantes.
J'en découvre tous les jours sur le site de Jean-Claude Bellamy.

Merci Jean,

Cordialement,
Daniel.
===
: "Daniel92" avait demandé dans le fil,
: > http://groups.google.fr/groups?threadm=OrN%
: >
: > : [...] utilisez toute la puissance du système de classes des languages orientés objet.
: >
: > ** Ces notions de "langages orientés objet" et de "système de classes " sont apparues
: > après que j'aie quitté l'informatique, quelles en sont leurs définitions (sommaire) ?
: >
: > ====