OT
Example 1
Code: Select all
; ===============================================================================================================================
#NoEnv
SetBatchLines -1
global x := y := Frequency := CounterStart1 := CounterStop1 := CounterStart2 := CounterStop2 := 0
global init := DllCall("QueryPerformanceFrequency", "int64*", Frequency)
; ===============================================================================================================================
DllCall("QueryPerformanceCounter", "int64*", CounterStart1)
loop 10000000
x := 10 * 64 ; <- 640
DllCall("QueryPerformanceCounter", "int64*", CounterStop1)
; ========================================================================
DllCall("QueryPerformanceCounter", "int64*", CounterStart2)
loop 10000000
y := 10 << 6 ; <- 640
DllCall("QueryPerformanceCounter", "int64*", CounterStop2)
; ===============================================================================================================================
MsgBox % "Test 1:`t" ((CounterStop1 - CounterStart1) / Frequency) "`n"
. "Test 2:`t" ((CounterStop2 - CounterStart2) / Frequency)
ExitApp
; ===============================================================================================================================
Example 2
Code: Select all
; ===============================================================================================================================
#NoEnv
SetBatchLines -1
global x := y := Frequency := CounterStart1 := CounterStop1 := CounterStart2 := CounterStop2 := 0
global init := DllCall("QueryPerformanceFrequency", "int64*", Frequency)
; ===============================================================================================================================
DllCall("QueryPerformanceCounter", "int64*", CounterStart1)
loop 1000000
x := Mod(131, 4) ; <- 3
DllCall("QueryPerformanceCounter", "int64*", CounterStop1)
; ========================================================================
DllCall("QueryPerformanceCounter", "int64*", CounterStart2)
loop 1000000
y := 131 & (4 - 1) ; <- 3
DllCall("QueryPerformanceCounter", "int64*", CounterStop2)
; ===============================================================================================================================
MsgBox % "Test 1:`t" ((CounterStop1 - CounterStart1) / Frequency) "`n"
. "Test 2:`t" ((CounterStop2 - CounterStart2) / Frequency)
ExitApp
; ===============================================================================================================================