

je veux bien, mais dis moi d'abord pourquoi est-ce que je dois relire ???????Coolman a écrit :Je serais curieux de savoir sur quoi exactement tu es d'accordOliv a écrit :Dobro, je suis plutôt d'accord avec toi, mais dire que DarkBasic est un language compilé et non interprété![]()
, mais avant relis si c'est possible ce post...
Donne le code, qu'on voit ça et que ça puisse être testé sans debugger.J'ajoute que je suis en train de faire un test de tri avec l'algo shell metzer sur un tableau d'un million d'elements et il s'avere que blitzbasic ecrase tous les autres compilos niveau vitesse de traitement, les faits sont las, pour le reste, ce n'est que du vent
Tout simplement parce je le repete, les faits sont la, blitzbasic (en plus j'ai la version demo) est plus rapide que tous les autres...Oliv a écrit :je veux bien, mais dis moi d'abord pourquoi est-ce que je dois relire ???????Coolman a écrit :Je serais curieux de savoir sur quoi exactement tu es d'accordOliv a écrit :Dobro, je suis plutôt d'accord avec toi, mais dire que DarkBasic est un language compilé et non interprété![]()
, mais avant relis si c'est possible ce post...
Merci Dennis, un peu de soutien, ca fait du bienDenis a écrit :Je suis d'accord avec toi Coolman, la vitesse est un élément à ne pas négliger . C'est d'autant plus vrai pour les langages qui tripotent de l'image, 2 ou 3 D comme Pure.
D'ailleurs, moi j'aime ces tests, en plus ça oblige un peu Fred à optimiser son code (.)
Code : Tout sélectionner
Boucle%=2000000
Tmp%=0
Print "Algorithme de Tri Shell Metzer"
Print
Print
Print "Constitution d'un tableau de " + Str$(Boucle%)
Print "elements aleatoires en cours..."
Dim a%(boucle%)
For j%=1 To boucle% : a%(j%)=Rnd(0,boucle%)+32000 : Next
Print
Print "Tableau constitué, Tri en cours..."
nbr% = boucle%
pa% = nbr%
DEB% = MilliSecs ()
While pa% >= 1
pa% = Int(pa% / 2)
For j% = 1 To nbr% - pa%
i% = j%
While i% >= 1
If a%(i%) > a%(i% + pa%) Then
Tmp%=a%(i%)
a%(i%)=a%(i% + pa%)
a%(i% + pa%)=Tmp%
i% = i% - pa%
Else
i% = 0
End If
Wend
Next
Wend
FIN% = MilliSecs ()
Print
Print "Terminé : "+Str$(FIN%-DEB%)
WaitKey()
End
Code : Tout sélectionner
DefType.l Boucle, nbr, pa, i, j, Tmp
DefType.f DEB, FIN
Boucle =2000000
Tmp =0
OpenConsole()
Printn ("Algorithme de Tri Shell Metzer")
Printn ("")
Printn ("")
Printn ("Constitution d'un tableau de " + Str(Boucle))
Printn ("elements aleatoires en cours...")
Dim a.l(Boucle)
For j =1 To boucle : a (j)=Random(boucle)+32000 : Next
Printn ("")
PrintN ("Tableau constitue, Tri en cours...")
nbr = boucle
pa = nbr
DEB = ElapsedMilliseconds()
While pa >= 1
pa = Int(pa/2)
For j = 1 To nbr - pa
i = j
While i >= 1
If a (i) > a(i+pa)
Tmp =a (i)
a(i)=a(i+pa)
a(i+pa)=Tmp
i = i-pa
Else
i = 0
EndIf
Wend
Next
Wend
FIN = ElapsedMilliseconds()
Printn ("")
PrintN ("Termine : "+Str(FIN-DEB))
Input()
CloseConsole()
End
on s'est croisé nico, poste donc le code que tu as utilisé que je vois ca ?nico a écrit :Jusqu'a maintenant, je n'avais pas fait les tests pour Blitz pour la comparaison car le code posté au début n'était pas bon.
Je pose la question: qui affirme que Blitz est plus rapide?
Mes résultats montrent le contraire.
comparaison:
Blitzbasic
Calcul sur les nombre entiers :
Addition 174
soustraction 263
multiplication 153
division 1364
Calcul sur les nombre reels :
Addition 337
soustraction 354
multiplication 394
division 501
Pure basic
Calcul sur les nombre entiers :
Addition 170
soustraction 231
multiplication 190
division 1322
Calcul sur les nombre reels :
Addition 130
soustraction 150
multiplication 131
division 430
Ibasic Pro
Calcul sur les nombre entiers :
Addition 300
soustraction 271
multiplication 340
division 1653
Calcul sur les nombre reels :
Addition 801
soustraction 721
multiplication 731
division 1402