Rust

성능 최적화

프로파일링, 벤치마킹, allocator 전략, zero-copy, SIMD, inline, codegen 최적화

20 면접 질문·
Senior
1

Rust 프로그램의 성능 핫스팟을 시각화하는 flame graph를 생성하는 도구는 무엇입니까?

답변

cargo-flamegraph는 프로파일링 데이터로부터 flame graph를 생성하는 표준 도구입니다. Linux에서는 perf, macOS에서는 dtrace를 사용하여 스택 샘플을 수집한 다음, 인터랙티브한 SVG 시각화를 생성하여 CPU를 가장 많이 소비하는 함수를 빠르게 식별할 수 있습니다.

2

Rust에서 정확하고 통계적으로 신뢰할 수 있는 마이크로 벤치마크를 작성하는 데 권장되는 crate는 무엇입니까?

답변

Criterion은 Rust에서 벤치마크의 표준 crate입니다. 견고한 통계 분석을 제공하고, 실행 간 성능 회귀를 감지하며, HTML 그래프를 생성하고, 신뢰할 수 있는 결과를 얻기 위해 warm-up과 반복 횟수를 자동으로 처리합니다.

3

Rust에서 zero-cost abstraction 개념은 무엇을 의미합니까?

답변

zero-cost abstraction은 고수준 추상화(iterators, traits, generics)가 수동으로 작성한 저수준 코드만큼 효율적인 기계어로 컴파일된다는 것을 의미합니다. 추상화 비용은 컴파일 타임(monomorphization)에만 존재하며 런타임에는 존재하지 않습니다.

4

Rust 컴파일러에 함수를 inline 하도록 제안하는 속성은 무엇입니까?

5

최대 최적화 수준을 활성화하는 Rust 컴파일 옵션은 무엇입니까?

+17 면접 질문

다음 면접을 위해 Rust을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기