첫 번째 단계는 위에서 설명한대로 최적화를위한 최적화 수준을 설정하는 것입니다. 여기에는 많은 옵션이 있습니다. - 매우 빠르고, 다소 위험
Code Generation Options
-O0 -O1 -O2 -O3 -Ofast -Os -Oz -O -O4
Specify which optimization level to use:
-O0 Means "no optimization": this level compiles the fastest and
generates the most debuggable code.
-O1 Somewhere between -O0 and -O2.
-O2 Moderate level of optimization which enables most
optimizations.
-O3 Like -O2, except that it enables optimizations that take longer
to perform or that may generate larger code (in an attempt to
make the program run faster).
-Ofast
Enables all the optimizations from -O3 along with other
aggressive optimizations that may violate strict compliance
with language standards.
-Os Like -O2 with extra optimizations to reduce code size.
-Oz Like -Os (and thus -O2), but reduces code size further.
-O Equivalent to -O2.
-O4 and higher
Currently equivalent to -O3
당신은 'Ofast'옵션을 알 수 있습니다 : - 그 소리의 LLVM 컴파일러 man 페이지 (남자 CC)에서 (-Os 릴리스의 기본이다).
두 번째 단계는 "루프 풀기"를 사용할지 여부를 고려하는 것입니다. 나는 이것이 어떤 코드에서 15 %의 속도 증가를 가져올 수 있음을 읽었다. (디버깅을 희생 시키지만 릴리즈 빌드에서는 문제가되지 않는다.)
다음으로 최적화 프로필을 작성하고 사용할 것인지 고려하십시오. 자세한 내용은 Apple를 참조하지만, 요점이다 :
프로파일 활용 최적화 (PGO)는 응용 프로그램의 컴파일러 최적화를 향상시킬 수있는 방법이다. PGO는 특별히 장착 된 빌드를 사용하여 가장 일반적으로 사용되는 코드 경로 및 방법에 대한 프로필 정보를 생성합니다. 그런 다음 컴파일러는이 프로파일 정보를 사용하여 가장 자주 사용되는 코드에 최적화 작업을 집중시키고 프로그램에서 이 일반적으로 더 나은 최적화 작업을 수행하는 방법에 대한 추가 정보를 활용합니다.
프로파일을 정의하고 빌드 설정 -> Apple LLVM 6.0 - 코드 생성 -> 최적화 프로파일 사용에서 사용 여부를 정의하십시오.
릴리스 구성을 사용하도록 구성표를 편집하십시오. – dasdom
글쎄 쏘지 ... 나는 편집 체계 대화 상자의 왼쪽에 빌드 유형을 선택하려고 노력했지만 계속 "붙어 다니지"않았다. 이제 "실행/테스트/분석/아카이브"유형마다 디버그/릴리스를 선택할 수 있습니다. 감사! – Chris
확인하고 싶으면 답변으로 추가하십시오. – dasdom