Что оптимальнее replace или if-then-else? - VB
Формулировка задачи:
Всем привет!
Друзья, подскажите, пожалуйста, есть ли где справочник с данными по скорости работы, тех или иных операторов VB(для оптимизации кода).
в частности интересует какой код будет оптимальнее:
или
?
Друзья, подскажите, пожалуйста, есть ли где справочник с данными по скорости работы, тех или иных операторов VB(для оптимизации кода).
в частности интересует какой код будет оптимальнее:
или
?
Решение задачи: «Что оптимальнее replace или if-then-else?»
textual
Листинг программы
<font color="blue">Sub</font> Test()
<font color="blue">Dim</font> sTest$, aTest, TestNo&, t#
<font color="blue">Dim</font> s$, s1$, s2$, s3$, i&, j&
<font color="blue">Const</font> N = <font color="darkblue"><b>100000</b></font>
sTest = <font color="teal">"aaa.x.ccc"</font>
s1 = <font color="teal">".x."</font>: s2 = <font color="teal">".bbb."</font>: s3 = <font color="teal">"."</font>
Debug.<font color="blue">Print</font> <font color="teal">"===="</font> & Now
<font color="blue">For</font> TestNo = <font color="darkblue"><b>1</b></font> <font color="blue">To</font> <font color="darkblue"><b>2</b></font>
t = Timer
<font color="blue">Select</font> <font color="blue">Case</font> TestNo
<font color="blue">Case</font> <font color="darkblue"><b>1</b></font>
<font color="00AA00">' 1 место по скорости: 0,203 s; 492 308 op/s</font>
<font color="blue">For</font> i = <font color="darkblue"><b>1</b></font> <font color="blue">To</font> N
aTest = Split(sTest, s3)
<font color="blue">If</font> aTest(<font color="darkblue"><b>1</b></font>) = <font color="teal">"x"</font> <font color="blue">Then</font> aTest(<font color="darkblue"><b>1</b></font>) = <font color="teal">"bbb"</font>
s = aTest(<font color="darkblue"><b>1</b></font>)
<font color="blue">Next</font>
<font color="blue">Case</font> <font color="darkblue"><b>2</b></font>
<font color="00AA00">' 2 место по скорости: 0,344 s; 290 909 op/s</font>
<font color="blue">For</font> i = <font color="darkblue"><b>1</b></font> <font color="blue">To</font> N
aTest = Split(Replace$(sTest, s1, s2), s3)
s = aTest(<font color="darkblue"><b>1</b></font>)
<font color="blue">Next</font>
<font color="blue">End</font> <font color="blue">Select</font>
t = Timer - t: <font color="blue">If</font> t = <font color="darkblue"><b>0</b></font> <font color="blue">Then</font> t = <font color="darkblue"><b>0</b></font>.<font color="darkblue"><b>01</b></font>
Debug.<font color="blue">Print</font> TestNo & <font color="teal">" "</font> & s, Format(t, <font color="teal">"0.000"</font>) & <font color="teal">" s"</font>, Format(N / t, <font color="teal">"# ##0"</font>) & <font color="teal">" op/s"</font>
<font color="blue">Next</font>
<font color="blue">End</font> <font color="blue">Sub</font>