Quantcast
Channel: "And" and "Or" troubles within an IF statement - Stack Overflow
Viewing all articles
Browse latest Browse all 4

Answer by assylias for "And" and "Or" troubles within an IF statement

$
0
0

This is not an answer, but too long for a comment.

In reply to JP's answers / comments, I have run the following test to compare the performance of the 2 methods. The Profiler object is a custom class - but in summary, it uses a kernel32 function which is fairly accurate (Private Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)).

Sub test()  Dim origNum As String  Dim creditOrDebit As String  Dim b As Boolean  Dim p As Profiler  Dim i As Long  Set p = New_Profiler  origNum = "30062600006"  creditOrDebit = "D"  p.startTimer ("nested_ifs")  For i = 1 To 1000000    If creditOrDebit = "D" Then      If origNum = "006260006" Then        b = True      ElseIf origNum = "30062600006" Then        b = True      End If    End If  Next i  p.stopTimer ("nested_ifs")  p.startTimer ("or_and")  For i = 1 To 1000000    If (origNum = "006260006" Or origNum = "30062600006") And creditOrDebit = "D" Then      b = True    End If  Next i  p.stopTimer ("or_and")  p.printReportEnd Sub

The results of 5 runs (in ms for 1m loops):

20-Jun-2012 19:28:25
nested_ifs (x1): 156 - Last Run: 156 - Average Run: 156
or_and (x1): 125 - Last Run: 125 - Average Run: 125

20-Jun-2012 19:28:26
nested_ifs (x1): 156 - Last Run: 156 - Average Run: 156
or_and (x1): 125 - Last Run: 125 - Average Run: 125

20-Jun-2012 19:28:27
nested_ifs (x1): 140 - Last Run: 140 - Average Run: 140
or_and (x1): 125 - Last Run: 125 - Average Run: 125

20-Jun-2012 19:28:28
nested_ifs (x1): 140 - Last Run: 140 - Average Run: 140
or_and (x1): 141 - Last Run: 141 - Average Run: 141

20-Jun-2012 19:28:29
nested_ifs (x1): 156 - Last Run: 156 - Average Run: 156
or_and (x1): 125 - Last Run: 125 - Average Run: 125

Note

If creditOrDebit is not "D", JP's code runs faster (around 60ms vs. 125ms for the or/and code).


Viewing all articles
Browse latest Browse all 4

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>