Page 1 sur 2

Vitesse de PureBasic

Publié : sam. 27/mars/2004 17:10
par erix14
Nouvel utilisateur de PureBasic, j'ai fai un petit test :

f = 1
for t = 1 to 100 000 000
f = f * 1.00003
next


Il faut environ une seconde avec Delphi 6 et presque 40 s avec PureBasic
pour executer cette boucle ( et sans le debogueur ) ???

Pourquoi est il aussi lent ???
Y a t il des parametres de compilation pour aller plus vite ? :(

Publié : sam. 27/mars/2004 17:41
par brossden
Je serais assez curieux de connaitre le résultat de F aussi bien avec Delphi qu'avec PureBasic si tu as ecrit ton code exactement comme tu le donne !!
Merci de refaire l'essais et de me communiquer la valeur !

:roll:

Publié : sam. 27/mars/2004 17:43
par nico
T'as quoi comme Ordi!

Publié : sam. 27/mars/2004 18:09
par erix14
c est bon, je suis < a 1 seconde avec les fonction ASM ( FLD, FMUL, ... )
Heureusement les fonctions ASM se marie bien avec PureBasic.
C est cool :D

Publié : sam. 27/mars/2004 18:28
par brossden
Il faut savoir que le bon programme serait :

Code : Tout sélectionner


f.f = 1 
For t = 1 To 100000000
  f = f * 1.00003 
Next 
Debug f


essaye déjà avec :

Code : Tout sélectionner


f.f = 1 
For t = 1 To 2500000
  f = f * 1.00003 
Next 
Debug f


Je pense que tu auras une surprise de taille !

Le résultat est en fait déjà beaucoup trop grand pour nos petites machines ! lol !

Le calcul que tu fais n'est autre que 1,00003 puissance 10000000 cela commence à faire !

Sur ma machine en mode debug il me faut à peine plus de deux secondes (P IV 2,2 Ghz)

Publié : sam. 27/mars/2004 18:44
par Chris
Avec ce code, je tournes à, (environ), 0.16 s en mode debug, et 0.06 s en faisant un debug en mode console.

Code : Tout sélectionner

f.f = 1 

time = GetTickCount_()

For t = 1 To 2500000
  f = f * 1.00003 
Next 

Time$ = StrF((GetTickCount_()- time)/1000)

; Debug f   ;   <---  Dé-commenter pour le mode Debug,
; Debug Time$;        commenter pour le mode Console.

OpenConsole();  <---  Dé-commenter pour le mode Console,
ConsoleLocate(0, 0);  commenter pour le Mode Debug.
PrintN(Time$)
PrintN("")
PrintN(StrF(f))

Repeat
  If Inkey() : CloseConsole() : End : EndIf
ForEver
Win XP, AMD Athlon XP2000+, 1.67 GHz, 256 Mo Ram

Chris :)

Publié : sam. 27/mars/2004 19:04
par Le Soldat Inconnu
47 secondes avec le code du début avec attention :
p3 500 mhz 128 ram
le debugger
une gravure en cours
un téléchargements en cours
l'antivirus qui me ralentit la bécane
et zonealarm qui surveille ce que je fais sur internet

Code : Tout sélectionner

Time = gettickcount_()

f.f = 1 
For t = 1 To 100000000 
  f = f * 1.00003 
Next

Debug gettickcount_() - Time
je sais pas ce qu'il a ton pc mais il tourne pas bien vite :D

et donc avec ce code qui ne fait pas de dépassement

Code : Tout sélectionner

Time = gettickcount_() 

f.f = 1 
For t = 1 To 2500000 
  f = f * 1.00003 
Next 

Debug gettickcount_() - Time
Debug f
0.7s avec toujours les mêmes paramètres et programmes en arrière plan.

la vache, pas mal, accroche toi Chris, je vais te bouffer avec mon 500mhz

Publié : sam. 27/mars/2004 19:19
par brossden
ben dis donc ne le change pas ton 500, moi à 2200 je suis beaucoup plus lent !

Publié : sam. 27/mars/2004 19:24
par Chris
Le Soldat Inconnu a écrit :la vache, pas mal, accroche toi Chris, je vais te bouffer avec mon 500mhz
:lol:

Il est pas en forme, aujourd'hui!!! :roll:

Chris :)

Publié : sam. 27/mars/2004 19:41
par Le Soldat Inconnu
Trop fort

Code : Tout sélectionner

Time = gettickcount_() 

f.f = 1 
For t = 1 To 2500000 
  f = f * 1.00003 
Next 

Time = gettickcount_() - Time

OpenConsole()

Print(Str(Time))
Delay(10000)

CloseConsole()
ça me donne 186 ms. je vais te bouffer
trop fort surtout que je grave toujours et que je télécharge toujours, j'ai juste tombé le debugger et l'antivirus.

Publié : sam. 27/mars/2004 19:59
par Le Soldat Inconnu
hahhahahahahaaaaaaaaaaaaaaaa

j'ai rebooté le pc, plus d'antivirus ni de zonealarm, plus de gravure et de téléchargement et sans le debugger

j'obtient :

49 ms


hahahaaaaaaaaaa je t'ai bouffé :lol:

Publié : sam. 27/mars/2004 20:18
par Chris
Image

Chris :)

Publié : sam. 27/mars/2004 20:27
par Le Soldat Inconnu
zut, je continue, j'avais oublié tu étais avec le debugger pour tes 60 ms

non, finallement, j'arrive pas à faire mieux. je suis déçu :cry:

sans rire, il se défend bien mon 500 mhz, je trouve :wink:

Publié : sam. 27/mars/2004 21:54
par julien
09 avec un PIV 2,5 GHz et 512 MO DDR 333 :lol:

Publié : sam. 27/mars/2004 22:07
par Oliv
PIV ou VIP (Very Important Processor) ?? :P