Page 2 sur 3

Publié : ven. 13/janv./2006 21:54
par CameleonTH
En faite la théorie des processeurs est fausse :D.

Publié : ven. 13/janv./2006 23:51
par comtois
ayé j'ai des résultats similaires aux votres :)

Psychophanta m'a suggéré de changer !fprem1 par !fprem

et j'obtiens
---------------------------
Test
---------------------------
WrapAngle1 = 422

WrapAngle2 = 422

WrapAngle3 = 422

WrapAngleDeg = 312

WrapValue = 516
---------------------------
OK
---------------------------

Publié : sam. 14/janv./2006 14:38
par Patrick88
pfff 'core un truc pour avoir mal à la tête...

bande de sado :?


:wink: :lol: :lol: :lol:

Publié : sam. 14/janv./2006 14:50
par Chris
Avec la modif, ça donne ça.
WrapAngle1 = 312
WrapAngle2 = 329
WrapAngle3 = 296
WrapAngleDeg = 297
WrapValue = 625
Le premier essai, ça donnait ça:
WrapAngle1 = 344
WrapAngle2 = 359
WrapAngle3 = 328
WrapAngleDeg = 297
WrapValue = 609
AMD Athlon 2000+ 1.67 GHz

Publié : sam. 14/janv./2006 17:38
par cederavic
Whaouuu!

Avec !fprem1
WrapAngle1 = 234
WrapAngle2 = 297
WrapAngle3 = 250
WrapAngleDeg = 235
WrapValue = 468

Avec !fprem
WrapAngle1 = 175
WrapAngle2 = 195
WrapAngle3 = 203
WrapAngleDeg = 201
WrapValue = 378

Amd athlon xp 3100+

Publié : sam. 14/janv./2006 19:58
par Gillou
ça change tout :D (P4 3. 4 GHz)

!fprem1
WrapAngle1 = 766
WarpAngle2 = 796
WarpAngle3 = 750
WarpAngleDeg = 782
WarpValue = 468

!fprem
WrapAngle1 = 390
WarpAngle2 = 453
WarpAngle3 = 391
WarpAngleDeg = 313
WarpValue = 453

Publié : sam. 14/janv./2006 20:26
par Chris
Ca change quand même plus sur Pentium que sur AMD.

Publié : sam. 05/mai/2007 18:53
par _Slide_
Sur un Pentium M 1600 Mhz (réglé 1600Mhz lors du test)

Avec !fprem :
WarpAngle1 = 4360
WarpAngle2 = 3640
WarpAngle3 = 4610
WarpAngleDeg = 3234
WarpValue = 953

Sur ce Pentium M WarpValue a le meilleur résultat, pourquoi ?

Publié : sam. 05/mai/2007 19:56
par Stefou
:? C'est grave docteur ! :?

WrapAngle1 = 13547
WrapAngle2 = 9656
WrapAngle3 = 13531
WrapAngleDeg = 6156
WrapValue = 500

Intel Pentium 2.4 Ghz

Publié : sam. 05/mai/2007 20:45
par comtois
Ce code était fait pour la version 3.94, il y a des changements avec la V4.
PsychoPhanta a fait une mise à jour :
http://purebasic.fr/english/viewtopic.php?t=18635

Publié : sam. 05/mai/2007 20:47
par Kwai chang caine
N'y comprenant rien.
Je ne sais pas si ça peux vous aider
Mais voila :

Non compilé :
----------------

WrapAngle1 = 1172
WrapAngle2 = 1203
WrapAngle3 = 1172
WrapAngleDeg = 1156
WrapValue = 719

Intel celeron 2.4 Ghz

Compilé:
----------

WrapAngle1 = 985
WrapAngle2 = 1000
WrapAngle3 = 969
WrapAngleDeg = 984
WrapValue = 562

Intel Pentium 2.4 Ghz

********************************
********************************

Non compilé :
----------------

WrapAngle1 = 766
WrapAngle2 = 781
WrapAngle3 = 766
WrapAngleDeg = 750
WrapValue = 453

Intel P4 3.2 Ghz

Compilé:
----------

WrapAngle1 = 781
WrapAngle2 = 766
WrapAngle3 = 781
WrapAngleDeg = 750
WrapValue = 453

Intel P4 3.2 Ghz

Publié : sam. 05/mai/2007 20:50
par Droopy
WrapAngle1 = 2468
WrapAngle2 = 2000
WrapAngle3 = 2485
WrapAngleDeg = 1734
WrapValue = 172

C2Duo E4300@3Ghz

Publié : dim. 06/mai/2007 9:05
par Stefou
:roll: Ah oui avec la 3.94 ça marche mieux :

W1 = 984
W2 = 1000
w3 = 938
WAd = 953
Wv = 547

intel pentium 2.4 Ghz

Publié : dim. 06/mai/2007 9:30
par erix14
Voici un test plus préci :mrgreen:

Code : Tout sélectionner

Procedure.f WrapValue(angle.f)
	;Auteur Filperj
	angle/360
	angle-Int(angle)
	If angle<0
		ProcedureReturn (angle+1)*360
	Else
		ProcedureReturn angle*360
	EndIf
EndProcedure

Procedure.f WrapAngleDeg(angle.f); <- wraps a value into [0,360) fringe
	!fild dword[@f] ; <- now i have 360 into st0
	!FLD dword[p.v_angle]
	!FPREM
	!FADD st1,st0
	!fldz
	!fcomip st1
	!fcmovnbe st0,st1
	!FSTP st1
	ProcedureReturn
	!@@:dd 360
EndProcedure


*Test.ITest = New_Test(0)

For t=0 To #ITest
	*Test\Start(1)
	
	angle.f = 0
	For r=0 To 1000
		Val.f = WrapValue(angle)
		angle + 0.3
	Next
	
	*Test\Stop(1)
Next
*Test\SetTitle(1, "Test Filperj : Résultat = "+StrF(Val))

For t=0 To #ITest
	*Test\Start(2)
	
	angle.f = 0
	For r=0 To 1000
		Val.f = WrapAngleDeg(angle)
		angle + 0.3
	Next
	
	*Test\Stop(2)
Next
*Test\SetTitle(2, "Test PsychoPhanta (ASM) = "+StrF(Val))

For t=0 To #ITest
	*Test\Start(3)
	*Test\Stop(3)
Next
*Test\SetTitle(3, "Vide")

*Test\Display(1) 
Intel(R) Pentium(R) 4 CPU 2.40GHz
2.52 GHz, 768Mo de RAM
NVIDIA GeForce4 Ti 4800 SE - 128Mo
Microsoft Windows XP Professionnel Service Pack 2
-----------------------------------
Test Filperj : Résultat = 300.000061
131764 cycles CPU (minimum)
133512 cycles en moyenne
X 1.00
-----------------------------------
Test PsychoPhanta (ASM) = 300.000061
74636 cycles CPU (minimum)
75932 cycles en moyenne
X 1.77
-----------------------------------
Vide
288 cycles CPU (minimum)
326 cycles en moyenne
X 457.51
-----------------------------------

Publié : dim. 06/mai/2007 9:46
par comtois
C'est clair que les tests sont plus efficaces avec ta lib :)
Intel(R) Pentium(R) 4 CPU 2.66GHz
2.66 GHz, 511Mo de RAM
NVIDIA GeForce 6800 - 256Mo
Microsoft Windows XP Édition familiale Service Pack 2
-----------------------------------
Test Filperj : Résultat = 300.000061
127224 cycles CPU (minimum)
134019 cycles en moyenne
X 1.00
-----------------------------------
Test PsychoPhanta (ASM) = 300.000061
75480 cycles CPU (minimum)
76044 cycles en moyenne
X 1.69
-----------------------------------
Vide
300 cycles CPU (minimum)
320 cycles en moyenne
X 424.08
-----------------------------------