<-- Previous || Up || Next -->

Bitwise Benchmark Sub
Bitwise Class

Private Sub BitwiseBenchmark()
    ' Perform a benchmark of the bitwise binary functions.

    'See also:
    '  XorValuesBenchmark Subroutine

    Dim lngMax As Long
    Dim lngTry As Long
    Dim varRtn As Variant


    lngMax = 4096
    Debug.Print "Count = " & lngMax


    Debug.Print "AND: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = AndValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff
    
    Debug.Print "EQV: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = EqvValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "IMP: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ImpValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "NAND: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = NandValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "NOR: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = NorValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "NOT: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = NotValue(34)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "OR: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = OrValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "XOR: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = XorValues(34, 45)
    Next lngTry
    Debug.Print DebugTimerOff


    Debug.Print "GET: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = GetBit(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "SET True: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = SetBit(2, 11, True)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "SET False: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = SetBit(2, 11, False)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "FLIP: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = FlipBit(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff


    Debug.Print "ASR, 11: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ArithmeticShiftRight(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "ASR, 8: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ArithmeticShiftRight(2, 8)
    Next lngTry
    Debug.Print DebugTimerOff


    Debug.Print "RL, 11: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = RotateLeft(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "RL, 8: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = RotateLeft(2, 8)
    Next lngTry
    Debug.Print DebugTimerOff


    Debug.Print "RR, 11: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = RotateRight(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "RR, 8: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = RotateRight(2, 8)
    Next lngTry
    Debug.Print DebugTimerOff


    Debug.Print "SL, 11: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ShiftLeft(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "SL, 8: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ShiftLeft(2, 8)
    Next lngTry
    Debug.Print DebugTimerOff


    Debug.Print "SR, 11: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ShiftRight(2, 11)
    Next lngTry
    Debug.Print DebugTimerOff

    Debug.Print "SR, 8: ";
    DebugTimerOn
    For lngTry = 1 To lngMax
        varRtn = ShiftRight(2, 8)
    Next lngTry
    Debug.Print DebugTimerOff
End Sub

Copyright 1996-1999 Entisoft
Entisoft Tools is a trademark of Entisoft.