Différence ou pas ?

Sujets variés concernant le développement en PureBasic
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Différence ou pas ?

Message par Mytic »

Je voudrai savoir s’il y’a une différence entre :

X = X + Y
Et
X+Y

Coté vitesse ?
:?
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

J’ai crée ce petit test, et le résultat montre qu’il y’a bien une grande différence.
La preuve en image (heu.. je veux dire en code)

Code : Tout sélectionner

Delay(1000)
x = 0
Debug "test1> x = x + 1"
t.d = ElapsedMilliseconds()
For i = 0 To 2000000
x+1 
Next i
r.s = StrD(ElapsedMilliseconds()-t)
Debug r
Delay(1000)
x = 0
Debug "test2> x+1"
t.d = ElapsedMilliseconds()
For i = 0 To 2000000
x+1 
Next i
r.s = StrD(ElapsedMilliseconds()-t)
Debug r
:!: :?:
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

Pour faire des tests de performance il faut désactiver le débugueur, autrement dit remplace tes debug par des messageReqester() ou alors utilise la lib de Erix14 qui te donne même un résultat graphique :)
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

J’ai oublié de désactiver le débugueur.
Sans le débugueur sa donne le même résultat pour les deux calcules.
Donc c’est la même chose.
:D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Différence ou pas ?

Message par Backup »

Mytic a écrit :Je voudrai savoir s’il y’a une différence entre :

X = X + Y
Et
X+Y

Coté vitesse ?
:?
coté vitesse , il y en a pas, mais coté visibilité, pour moi ce ne devrai pas donner le meme résultat !! , cependant , je sais qu'en pure c'est pareil :?

pourtant dans

Code : Tout sélectionner

x=x+y
, il y a une affectation le signe "="
donc on remet le resultat dans X !!

en principe , ne devrai qu'afficher (ou renvoyer) le résultat de x plus y
, hors, je ne sais pourquoi Fred considère que x+y = x=x+y !!! :?

ce qui est parfaitement illogique, en fait !! puisqu'il n'y a pas d'affectation en clair , pas de "=" ... cherchez l'erreur :)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

c'est l'équivalent du "+=" d'autres langages, seulement il n'a pas utilisé la même syntaxe voila tout

Dri
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Message par jerexgrz »

personnellement,
on ajoute y à x ! donc on va remettre le nouveau resultat dans x. (d'ou l'egal) donc x+y => x = x+y

c'est + de la lecture qu'autre chose en faite !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

jerexgrz a écrit :personnellement,
on ajoute y à x ! donc on va remettre le nouveau resultat dans x. (d'ou l'egal) donc x+y => x = x+y

c'est + de la lecture qu'autre chose en faite !
pas vraiment anodin quand meme , dans pas mal de Basic

si tu fait seulement :

Code : Tout sélectionner

x=10
r=20
y= 60
for t=1 to 20
x+r
plot (x , y)
next t
tu vas te retrouver a dessiner a la meme coordonnée !! (30,60) !!

il faudrai faire

Code : Tout sélectionner

x=10
r=20
y= 60
for t=1 to 20
x=x+r
 plot (x , y)
next t
mais bon le tout est de le savoir :)
Répondre