Rust

Оптимізація продуктивності

Профілювання, бенчмаркінг, стратегії allocator, zero-copy, SIMD, inline, оптимізація codegen

20 питань зі співбесід·
Senior
1

Який інструмент генерує flame graphs для візуалізації гарячих точок продуктивності в програмі Rust?

Відповідь

cargo-flamegraph — це стандартний інструмент для генерації flame graphs з даних профілювання. Він використовує perf у Linux або dtrace у macOS для збору зразків стека, а потім генерує інтерактивну SVG-візуалізацію, що дозволяє швидко виявити функції, які найбільше навантажують CPU.

2

Яку crate рекомендовано для написання точних і статистично надійних мікробенчмарків у Rust?

Відповідь

Criterion — це еталонна crate для бенчмаркінгу в Rust. Вона забезпечує надійний статистичний аналіз, виявляє регресії продуктивності між запусками, генерує HTML-графіки та автоматично керує warm-up і кількістю ітерацій для отримання надійних результатів.

3

Що означає концепція zero-cost abstraction у Rust?

Відповідь

Zero-cost abstractions означають, що високорівневі абстракції (iterators, traits, generics) компілюються в машинний код, такий же ефективний, як написаний вручну низькорівневий код. Вартість абстракції існує лише під час компіляції (monomorphization), а не під час виконання.

4

Який атрибут пропонує компілятору Rust зробити inline функції?

5

Яка опція компіляції Rust вмикає максимальний рівень оптимізації?

+17 питань зі співбесід

Опануй Rust для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно