Debat Languages Basics

Sujets variés concernant le développement en PureBasic
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Dobro, je suis plutôt d'accord avec toi, mais dire que DarkBasic est un language compilé et non interprété :roll: :lol:
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

Oliv a écrit :Dobro, je suis plutôt d'accord avec toi, mais dire que DarkBasic est un language compilé et non interprété :roll: :lol:
Je serais curieux de savoir sur quoi exactement tu es d'accord 8O , mais avant relis si c'est possible ce post...
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

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 :lol: :lol: :lol:
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Coolman a écrit :
Oliv a écrit :Dobro, je suis plutôt d'accord avec toi, mais dire que DarkBasic est un language compilé et non interprété :roll: :lol:
Je serais curieux de savoir sur quoi exactement tu es d'accord 8O , mais avant relis si c'est possible ce post...
je veux bien, mais dis moi d'abord pourquoi est-ce que je dois relire ???????
bernard13
Messages : 1221
Inscription : mer. 05/janv./2005 21:30

Message par bernard13 »

ON s'en tape

Vive purebasic
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

bernard13 a écrit :ON s'en tape

Vive purebasic
Pas très constructif mais c'est un point de vue :lol:
hardy
Messages : 333
Inscription : mer. 02/juin/2004 13:19
Localisation : Tours

Message par hardy »

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
Donne le code, qu'on voit ça et que ça puisse être testé sans debugger.
S'il y a effectivement une différence, j'aimerais voir pourquoi.
Qui a blitz et pure (versions non bridées) pour comparer?
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

Oliv a écrit :
Coolman a écrit :
Oliv a écrit :Dobro, je suis plutôt d'accord avec toi, mais dire que DarkBasic est un language compilé et non interprété :roll: :lol:
Je serais curieux de savoir sur quoi exactement tu es d'accord 8O , mais avant relis si c'est possible ce post...
je veux bien, mais dis moi d'abord pourquoi est-ce que je dois relire ???????
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...
reste que l'optimisation n'est peut etre pas votre objectif, je dois dire que pureb est suffisement rapide comme ca bien que je n'ai pas testé la version complete...
apres tout, si vous etes fans de pureb, grand bien vous fasse, quand a moi, je n'ai pas encore achete de language, donc je continue mes tests, et je crois bien que c'est blitzmax que je choisirais s'il est aussi performant que le dit son auteur, ,un autre critere, l'achat de la version mac donne apparement l'acces gratuits aux autres plateforme windows et linux, comme j'ai l'intention de m'acheter le mac mini (une petit merveille), ca me convient tout a fait...

Pour hardy, j'ai appliqué l'algo de tri de shell metzer sur un tableau de 1 millions d'elements, et j'ai ete un peu surpri de la rapidité de blitz, je paufine ca et je postes le code...
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

En calcul nombre réel, les résultats de Pure sont plus rapide que ceux de Blitz dans les tests que j'ai pu faire.
Dernière modification par nico le jeu. 20/janv./2005 12:26, modifié 1 fois.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

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 (. :roll: )
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

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
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

Denis 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 (. :roll: )
Merci Dennis, un peu de soutien, ca fait du bien :lol:


Suite a la demande de hardy, voici les deux codes Blitz et pure, j'ai d'abord utilisé un tableau de 1 millions d'elements ensuite de 2, resultas :

Sur 1 Millions D'elements :
Blitz : 1141
Pureb : 8743

Sur 2 Millions D'elements :
Blitz : 2754
Pureb : 21819

Precisions : la version de blitz est la demo, je suppose que le programme compilé avec la version complete serait meilleur, pour purebasic, le debug est active, je n'ai que la version demo...

Il y'a des variations, n'oubliez pas qu'il s'agit ici de millieme de seconde, si vous voulez corser, vous pouvez toujours initialiser un tableau avec plus d'elements dans la limite variables et place memoire...

Pour ce qui est de l'algo, je n'ai rien inventé, l'algo porte le nom de son auteur, je n'ai fait que l'adapter au basic, c'est un algo reputé tres rapide, pour plus d'info, google est votre ami...

Pour ceux qui veulent tester, voici les codes, pour les autres, epargnez moi les remarques inutiles et sans interet, je suis fatigué d'y repondre...

Par contre je serais beaucoup plus interessé par vos resultas sur la version demo de blitz et celle complete de pureb :lol:


*** Code BlitzBasic ***

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 Pure Basic ***

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
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

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
on s'est croisé nico, poste donc le code que tu as utilisé que je vois ca ?
Coolman
Messages : 432
Inscription : sam. 01/janv./2005 16:07

Message par Coolman »

Ou sinon, est ce que c'est le code que j'ai posté, ou as tu modifié quelques choses, peux tu confirmer ....
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

non, j'ai rien modifié, mais avec tous ces posts......


Résultat des tests :moyenne sur 5 essais

Pure Basic:7162

Blitz:6872

Je suis ok pour dire que Blitz est gagnant de 290ms
Répondre