반응형
VB.NET을 사용해서 프로그램 작업을 할때 루프문에 간혹 실수로 데이터 형을 선언하지 않는 경우가 있습니다. 이런 경우 컴파일러에서 에러로 처리 하지 않고 자동으로 변환되어서 처리가 됩니다. 이럴경우 상당한 속도차이가 있으니 관련 부분이 있는 경우는 주의 하시기 바랍니다.
아래 소스코드는 변수 a를 데이터형을 선언하지 않았는데 이러면 object형으로 처리됩니다. b는 int형으로 해서 For문을 1000회 동작시켜서 테스트 해보았습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Module Module1
Sub Main()
Dim a
Dim b As Integer
Dim loopCnt As Integer
loopCnt = 1000
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff"))
For a = 1 To loopCnt
Next a
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff"))
For b = 1 To loopCnt
Next b
Console.WriteLine(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff"))
Console.ReadLine()
End Sub
End Module
|
cs |
실행결과
실행속도차이가 object형은 33m/s가량 int형은 1m/s가량이 소요된것을 확인 할 수 있습니다.