
je ne suis plus là je ne répondrais plus a ce message XD
Code : Tout sélectionner
For i=1 To Len(texte$) Step 2
Code : Tout sélectionner
lg= Len(texte$)
For i=1 To lg Step 2
Code : Tout sélectionner
Global texte$=UCase("01020345f8c6deffcb")
Global Dim result(4,(Len(texte$)/2))
Dim t(5)
Declare shp(x)
Declare tableau(x)
Declare Maps(x)
Declare pointer(x)
iter = 100000
t(0) = shp(iter)
t(1) = tableau(iter)
t(2) = Maps(iter)
t(3) = pointer(iter)
z$ = "methode sph" + Chr(9) + "methode tableau" + Chr(9) + "methode map" + Chr(9)+ "pointer et tableau" +Chr(13)
For s=0 To (Len(texte$)/2)-1
For r=0 To 3
z$ = z$ + Str(result(r,s)) + Chr(9) + Chr(9)
Next
;z$ = z$ + Chr(13)
Next
z$ = z$ + Chr(13) + "temps" + Chr(13)
For i = 0 To 3
z$ = z$ + Str(t(i)) + Chr(9) + Chr(9)
Next
MessageRequester("results",z$,#PB_MessageRequester_Ok)
; ---------------------------------------------------------
; methode sph
Procedure shp(iter)
t=ElapsedMilliseconds()
For z=1 To iter
lg= Len(texte$)
For i=1 To lg Step 2
result(0,(i-1)>>1) = Val("$"+Mid(texte$,i,2))
Next
Next
t= ElapsedMilliseconds()-t
ProcedureReturn t
EndProcedure
; ---------------------------------------------------------
; methode tableau
Procedure tableau(iter)
t=ElapsedMilliseconds()
Dim cha(255)
For A=48 To 57 ; numbers
cha(a)=a-48 ; 0 to 9
Next
For a=65 To 70; a to f
cha(a)=a-55 ; 10 to 15
cha(a+32)=a-55
Next
For z=1 To iter
lg= Len(texte$)
For i=1 To lg Step 2
result(1,(i-1)>>1) = cha(Asc(Mid(texte$,i,1)))<<4+cha(Asc(Mid(texte$,i+1,1)))
Next
Next
t= ElapsedMilliseconds()-t
ProcedureReturn t
EndProcedure
; ---------------------------------------------------------
; methode map
Procedure Maps(iter)
t=ElapsedMilliseconds()
NewMap Hx.i()
For z=0 To 255
AddMapElement(Hx(),RSet(Hex(z),2,"0"))
Hx()=z
Next
k=ElapsedMilliseconds()
For z=1 To iter
lg= Len(texte$)
For i=1 To lg Step 2
FindMapElement(hx(),Mid(texte$,i,2))
result(2,(i-1)>>1) = hx()
Next
Next
t= ElapsedMilliseconds()-t
ProcedureReturn t
EndProcedure
; ---------------------------------------------------------
; pointer et tableau
Procedure pointer(iter)
t=ElapsedMilliseconds()
p=@texte$
Dim cha(255)
For A=48 To 57 ; numbers
cha(a)=a-48 ; 0 to 9
Next
For a=65 To 70; a to f
cha(a)=a-55 ; 10 to 15
cha(a+32)=a-55
Next
For z=1 To iter
lg= Len(texte$)
For i=1 To lg Step 2
result(3,(i-1)>>1) = cha(PeekA(p+(i-1)<<1))<<4 + cha(PeekA(p+i<<1))
Next
Next
t= ElapsedMilliseconds()-t
ProcedureReturn t
EndProcedure
Code : Tout sélectionner
len= Len(texte$)
For i=1 To len Step 2
Code : Tout sélectionner
For i=1 To Len(texte$) Step 2
Code : Tout sélectionner
Define *mem = AllocateMemory(64) ; allocation
Define *a.integer ; définition
*a = *mem ; attribution
If Pluie ; vérif de la météo
PokeI(*a, 51) ; écriture
Else
*a\i = 51 ; équivalent d'écriture
EndIf
Debug PeekI(*a) ; lecture
Debug *a\i ; équivalent de lecture
Code : Tout sélectionner
Global texte$=UCase("01020345f8c6deffcb")
;
opt=0
If #PB_Compiler_Debugger : opt=1 : EndIf
iter=1
If opt = 0 : iter = 100000000 : EndIf
; ;----------------------------------------------------------
; ;Debug "methode sph"
; k=ElapsedMilliseconds()
; For z=1 To iter
; lg= Len(texte$)
; For i=1 To lg Step 2
; a$="$"+Mid(texte$,i,2)
; result =Val(a$)
; Next
; Next
; sph.i= ElapsedMilliseconds()-k
;----------------------------------------------------------
;Debug "pointer"
k=ElapsedMilliseconds()
p=@texte$
Dim cha(255)
For A=48 To 57 ; numbers
cha(a)=a-48 ; 0 to 9
Next
For a=65 To 70; a to f
cha(a)=a-55 ; 10 to 15
cha(a+32)=a-55
Next
For z=1 To iter
lg= Len(texte$)
For i=1 To lg Step 2
r2 = cha(PeekA(p+(i-1)<<1))<<4 + cha(PeekA(p+i<<1))
If opt = 1
a$="$"+Mid(texte$,i,2)
result =Val(a$)
Debug result
Debug r2
Debug "-----"
EndIf
Next
Next
my.i= ElapsedMilliseconds()-k
;----------------------------------------------------------
;Debug "structuré pointer"
k=ElapsedMilliseconds()
Structure asciiTableau
a.a[0]
EndStructure
*pd.asciiTableau = @texte$
Dim cha(255)
For A = 48 To 57 ; numbers
cha(a) = a - 48 ; 0 to 9
Next
For a = 65 To 70 ; a to f
cha(a) = a - 55 ; 10 to 15
cha(a + 32) = a - 55
Next
For z = 1 To iter
lg = Len(texte$)
For i = 1 To lg Step 2
r2 = cha(*pd\a[(i - 1) * 2]) * 16 + cha(*pd\a[i * 2])
If opt = 1
a$="$"+Mid(texte$,i,2)
result =Val(a$)
Debug result
Debug r2
Debug "-----"
EndIf
Next
Next
dem.i = ElapsedMilliseconds() - k
; t1$ = "methode sph" + #LF$
; t1b$ = Str(sph) + #LF$
t2$ ="pointer" + #LF$
t2b$ = Str(my) + #LF$
t3$ = "structuré pointer" + #LF$
t3b$ = Str(dem) + #LF$
t$ = t1$ + t1b$ + t2$ + t2b$ + t3$ + t3b$
MessageRequester("", t$)
Code : Tout sélectionner
*T= UTF8(Space(100) )
max= Base64Decoder("AQIDRfjG3v/L", *T, 100)- 1
For i= 0 To max
Debug Hex(PeekA(*T+ i) )
Next