본문 바로가기

카테고리 없음

Null, empty 속도 비교

출처  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 로 인식합니다.

데이터가 많으면 더 큰 차이가 발생하겠죠.