Rust로 최적화된 바이너리 빌드

3494 단어 archlinuxbashrust
대상 CPU에서 직접 Rust 앱을 컴파일하고 PKGBUILD 에서 일부 구성 값을 확인할 때 아키텍처별 최적화를 활성화할 수 있습니다.

이 최적화를 통해 Rust 앱의 성능을 높일 수 있습니다up to 2x times.

기본 최적화 확인



현재 CPU 아키텍처에 대한 기본 최적화를 확인할 수 있습니다.

$ rustc --print cfg
debug_assertions
target_arch="x86_64"
target_endian="little"
target_env="gnu"
target_family="unix"
target_feature="fxsr"
target_feature="sse"
target_feature="sse2"
target_os="linux"
target_pointer_width="64"
target_vendor="unknown"
unix

3target_feature개의 값만 셀 수 있습니다.

🧠 SSE는 1999년 Intel에서 만든 x86 아키텍처용 명령어 세트입니다. 👀

다음을 사용하여 CPU에 사용 가능한 최적화를 볼 수 있습니다.

rustc -C target-cpu=native --print cfg

다음을 사용하여 CPU가 지원하는 기능의 수( target_feature )를 계산할 수 있습니다.

$ rustc -C target-cpu=native --print cfg | grep target_feature | wc -l
22

내 CPU 아키텍처에 대한 기본 프로필보다 19가지 추가 최적화가 있습니다.

네이티브 최적화로 컴파일하는 방법



기본 시나리오는 다음을 사용하여 릴리스 모드에서 빌드하는 것입니다.

cargo build --release

기본 최적화를 적용하려면 다음을 사용할 수 있습니다.

cargo rustc --release -- -C target-cpu=native

또는 환경 변수를 사용하여 다음을 수행합니다.

RUSTFLAGS="-C target-cpu=native" cargo build --relase

💡 기억하세요: 환경 변수는 기본 컴파일을 최상위 크레이트뿐만 아니라 모든 종속성에 적용합니다.

기본 최적화와 함께 makepkg 사용



Arch Linux에서 이러한 아키텍처별 최적화를 적용하려면 /etc/makepkg.conf 변수에 -C target-cpu=native를 추가하여 RUSTFLAGS를 편집해야 합니다.

💡 참고: 패키지를 다른 아키텍처로 배포하려면 호환성을 확인하십시오.

최적의 최적화 찾기



아마도 target-cpu=native가 귀하의 요구에 충분하지 않을 수 있습니다. 다음을 사용하여 CPU에 사용 가능한 옵션을 확인할 수 있습니다.

$ rustc --print target-cpus

그런 다음 CPU 아키텍처에 대한 다양한 옵션을 테스트할 수 있습니다. 행운을 빕니다!

좋은 웹페이지 즐겨찾기