访问简单变量总是快于数组元素值

  • 来源: 互联网 作者: 若水   2008-04-21/16:46
  •     读写数组中的元素速度通常都慢于访问一个简单变量,因此,如果在一个循环中要重复使用同一数组元素值,就应该分配数组元素值到临时变量中并使用这个变量。下面举一个例子,检测整数数组中是否存在重复项:

    Function AnyDuplicates(intArray() As Integer) As Boolean

    '如果数组包含重复项,返回True

    Dim i As Long, j As Long,

    Dim lastItem As Long

    Dim value As Integer

    '只计算机UBound()一次

    lastItem = UBound(intArray)

    For i = LBound(intArray) To lastItem

    ' 保存intArray(i)到非数组变量中

    value = intArray(i)

    For j = i + 1 To lastItem

    If value = intArray(j) Then

    AnyDuplicates = True

    Exit Function

    End If

    Next

    Next

    '没有发现重复项

    AnyDuplicates = False

    End Function

    上述程序有2层循环,通过缓存intArray(i)的数值到一个普通的、非数组变量中,节省了CPU运行时间。经测试,这将提高80%的速度。

     

     


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多