Re: Which one is faster
Posted: Tue Dec 05, 2023 12:25 pm
				
				ah ! ok
some modifications (again) so that the calculations are done with the backendc + optimization
(X3 for me !)
 
			some modifications (again) so that the calculations are done with the backendc + optimization
(X3 for me !)
Code: Select all
DisableDebugger
Procedure Limit1(x.l)
  If x>255
    x=255
  ElseIf x<0
    x=0
  EndIf
  ProcedureReturn x
EndProcedure
Procedure Limit2(x.l)
  If x>255
    ProcedureReturn 255
  ElseIf x<0
    ProcedureReturn 0
  Else
    ProcedureReturn x
  EndIf
EndProcedure
Procedure Limit3(x.l)
  If x>255
    ProcedureReturn 255
  ElseIf x<0
    ProcedureReturn 0
  EndIf
  ProcedureReturn x
EndProcedure
Procedure Limit4(x.l)
	If x & (~$FF) = 0
		ProcedureReturn x
	ElseIf x < 0
		ProcedureReturn 0
	Else
		ProcedureReturn 255
	EndIf
EndProcedure
Procedure Limit5(x.l)
	If x < 0
		ProcedureReturn 0
	ElseIf x > 255
		ProcedureReturn 255
	EndIf
    ProcedureReturn x
EndProcedure
#num = 11
#count = 10000000
StartTime = ElapsedMilliseconds()
For i = 0 To #count 
	s+Limit1(i)
Next
xx = ElapsedMilliseconds() - StartTime
StartTime = ElapsedMilliseconds()
For i = 0 To #count 
	s+Limit2(i)
Next
yy = ElapsedMilliseconds() - StartTime
StartTime = ElapsedMilliseconds()
For i = 0 To #count 
	s+Limit3(i)
Next
zz = ElapsedMilliseconds() - StartTime
StartTime = ElapsedMilliseconds()
For i = 0 To #count 
	s+Limit4(i)
Next
aa = ElapsedMilliseconds() - StartTime
StartTime = ElapsedMilliseconds()
For i = 0 To #count 
	s+Limit5(i)
Next
bb = ElapsedMilliseconds() - StartTime
EnableDebugger
Debug "somme : "+s
Debug xx
Debug yy
Debug zz
Debug aa
Debug bb