본문 바로가기

My Study/Programming&Theory

Visual Studio 컴파일 속도(최적화 옵션)

오늘 뭐좀 만들어보려고 Visual Studio 2012 를 켰습니다. 암호화 루틴도 사용해야해서 AES 256을 사용하기로하고 구글링해서 관련 소스코드를 가져왔습니다. AES256 암복호화 소스가 제대로 돌아가는지 테스트 하기 위해 컴파일..



코드는 짧습니다. 그리고 "aes.c" 의 코드는 500줄 가량됩니다. 그렇게 긴 코드도 아니죠.

하지만 컴파일에 걸린 시간은 



38초!! 컴파일 시간이 늦어진다는 것은 그만큼 동일 시간에 디버깅 할 수 있는 횟수가 줄어버리는 것이기 때문에 작업 능률 또한 떨어지겠군요.


왜이렇게 느리나 프로젝트 속성에서 봐보았는데 최적화 옵션이 문제였습니다.

최적화 부분을 /O2 -> /Od 로 변경.. 즉 그냥 최적화 사용 안함으로 바꿨습니다. 그리고 다시 컴파일



1초도 안걸리는군요. 이래야 정상이죠.


Visual Studio 가 좋은 컴파일러인건 맞지만.. 

생성되는 바이너리의 코드를 최적화 시키는 작업이 루틴이 복잡한 경우(알고리즘 같은..)는 어쩔수 없이 느린가 봅니다.

대부분 시스템 프로그래밍(루틴이 단조로움)만 하다보니 이런걸 제대로 느껴보질 못했는데 재밌네요.


또 하나 더 있는데 /MP 옵션도 사용해보시면 좋을 것 같습니다. :D


아 그리고 위에서 빌드 시간 측정을 했는데요. 이는 Visual Studio 2012에서 디폴트로 제공해주고 있진 않은 것 같습니다.

그래서 빌드 시간 측정해주는 확장 툴을 사용했습니다.


http://visualstudiogallery.msdn.microsoft.com/b0c87e47-f4ee-4935-9a59-f2c81ce692ab

BuildMonitorPackage.vsix


그냥 주말에 심심해 뻘글 투척입니다. 그냥 BuildMonitor 툴 소개 글이네요.