파이썬을 컴파일하는 동안 --enable-optimization은 무엇을 합니까?
팔 기반 리눅스 머신에서 파이썬 3.6을 컴파일하려고 하는데,./configure
출력:
모든 최적화(LTO, PGO 등)가 활성화된 릴리스 빌드를 원한다면 실행하십시오.
./configure --enable-optimizations
.
무엇인가.--enable-optimizations
하십니까?
이 플래그는 PGO(Profile Guided Optimization) 및 LTO(Link Time Optimization)를 활성화합니다.
두 가지 모두 비용이 많이 드는 최적화로 빌드 프로세스 속도는 느려지지만 속도는 크게 향상됩니다(제가 읽은 내용에서 약 10-20%).
이것들이 정확히 무엇을 하는지에 대한 논의는 제가 아는 것 이상이며 아마도 한 가지 질문에 대해 너무 광범위할 것입니다.어느 쪽이든, 당신은 그것을 위한 구현이 있는 GCC의 문서에서 LTO에 대한 약간의 것을 읽을 수 있고 위키 페이지를 읽음으로써 PGO를 시작할 수 있습니다.
또한 Python Bug Tracker에서 다음과 같이 추가된 관련 문제를 참조하십시오.
- 문제 24915: Profile Guided Optimization 개선 사항(더 나은 교육, llvm 지원 등)(PGO 추가)
- 이슈 25702: GCC 및 CLANG에 대한 링크 시간 최적화 지원(LTO 추가)
- 문제 26359: 즉시 사용할 수 있는 성능을 위한 Cython 빌드 옵션(추가:
--enable-optimizations
위에서 언급한 최적화를 활성화하는 구성 스크립트에 플래그를 지정합니다.)
@Shuo가 논평에서 지적하고 28032호에서 언급했듯이, LTO가 항상 활성화되는 것은 아닙니다.--enable-optimizations
플래그. 일부 플랫폼(의 지원되는 버전에 따라 다름)은 구성 스크립트에서 플래그를 사용하지 않도록 설정합니다.
그러나 이 플래그의 향후 버전은 항상 활성화되므로 여기에서 두 가지 모두에 대해 이야기하는 것이 매우 안전합니다.
언급URL : https://stackoverflow.com/questions/41405728/what-does-enable-optimizations-do-while-compiling-python
'programing' 카테고리의 다른 글
분기를 헤드로 빠르게 전달하는 방법 (0) | 2023.05.08 |
---|---|
Excel VBA를 사용하여 워크북에서 모든 일치 항목 찾기 (0) | 2023.05.08 |
System.console()이 null을 반환합니다. (0) | 2023.05.03 |
ALTER TABLE, null이 아닌 열에 null 설정, PostgreSQL 9.1 (0) | 2023.05.03 |
AV Foundation, 연결에서 비동기적으로 스틸 이미지를 캡처할 때 셔터 소리를 끄는 방법은 무엇입니까? (0) | 2023.05.03 |