특정함수안에 코드를 굉장히 길게 써놓은 케이스로 빌드를 했습니다
예를들어서 for문 대신 unfold등을 해서 코드길이가 길어졌습니다
이후에 build time이 굉장히 길어졌습니다
이렇게 내부 함수의 코드 길이가 길어짐으로 인해서 builld time이 변동되는 이유가 무엇일까요?
Exe에 스택준비가 되어서 그런가요?
그런데 디버그모드 빌드는 굉장히 빠르던데 이유가 궁금합니다
Release build는 최적화를 하기 위해 컴파일러가 훨씬 더 많은 일을 해야 합니다. 함수가 복잡할수록 할일이 늘어나겠죠. VS에 버그가 없다는 가정 하에선 이런 일반론을 말씀드릴 수밖에 없네요.
...그런데 "for문 대신 unfold"라는 게 정확히 어떤 걸 말씀하시는 건가요? 굳이 해야만 하는 이유가 있는 건가요? 컴파일 시간이 눈에 띄게 느려진다면 코드 자체가 너무 긴 게 아닌가 하는 의심이 듭니다만...
내용으로 추측컨데 loop unrolling이 아닐까요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
...
Release build는 최적화를 하기 위해 컴파일러가 훨씬 더 많은 일을 해야 합니다. 함수가 복잡할수록 할일이 늘어나겠죠. VS에 버그가 없다는 가정 하에선 이런 일반론을 말씀드릴 수밖에 없네요.
...그런데 "for문 대신 unfold"라는 게 정확히 어떤 걸 말씀하시는 건가요? 굳이 해야만 하는 이유가 있는 건가요? 컴파일 시간이 눈에 띄게 느려진다면 코드 자체가 너무 긴 게 아닌가 하는 의심이 듭니다만...
내용으로 추측컨데 loop unrolling이
내용으로 추측컨데 loop unrolling이 아닐까요.
댓글 달기