출처 Null, empty 속도 비교
안녕하세요!
프로그래밍에서 문자열 처리에 자주 등장하는 것이 값이 없는 경우에 대한 겁니다.
영어로는 Null(널) 이라고 부릅니다.
엑셀에서는 셀에 값이 없으면 빈셀이라고 부릅니다.
매크로에서 이 처리를 하는 방법중 가장 널리 쓰이는 것은 "" 이다.
아래 비교 프로시저를 보세요.
Sub 널처리()
t = Timer
For i = 1 To 2222
For j = 1 To 11111
sr = ""
Next
Next
MsgBox Timer - t '4.5625 sec
End Sub
Sub 널처리2()
t = Timer
For i = 1 To 2222
For j = 1 To 11111
sr = vbNullString
Next
Next
MsgBox Timer - t '1.27734 sec
End Sub
Sub 널처리3()
t = Timer
For i = 1 To 2222
For j = 1 To 11111
sr = Empty
Next
Next
MsgBox Timer - t '0.835937 sec
End Sub
위의 3개의 프로시저는 같은 기능을 하지만 실행속도(수행속도)에 차이를 보입니다.
처리속도를 초단위로 표시한 녹색 주석을 보세요.
Empty가 성능이 좋네요..
여기서 주의하실건 Empty = 0 즉, 숫자 0도 Empty 로 인식합니다.
데이터가 많으면 더 큰 차이가 발생하겠죠.