Rust

Ottimizzazione delle Prestazioni

Profiling, benchmarking, strategie di allocator, zero-copy, SIMD, inline, ottimizzazione del codegen

20 domande da colloquio·
Senior
1

Quale strumento genera flame graph per visualizzare gli hotspot di prestazioni in un programma Rust?

Risposta

cargo-flamegraph è lo strumento standard per generare flame graph a partire dai dati di profiling. Utilizza perf su Linux o dtrace su macOS per raccogliere campioni dello stack, quindi genera una visualizzazione SVG interattiva che consente di identificare rapidamente le funzioni che consumano più CPU.

2

Quale crate è consigliata per scrivere micro-benchmark precisi e statisticamente affidabili in Rust?

Risposta

Criterion è la crate di riferimento per il benchmarking in Rust. Fornisce analisi statistiche robuste, rileva le regressioni di prestazioni tra le esecuzioni, genera grafici HTML e gestisce automaticamente il warm-up e il numero di iterazioni per ottenere risultati affidabili.

3

Cosa significa il concetto di zero-cost abstraction in Rust?

Risposta

Le zero-cost abstraction significano che le astrazioni di alto livello (iterators, traits, generics) vengono compilate in codice macchina efficiente quanto il codice di basso livello scritto manualmente. Il costo dell'astrazione esiste solo in fase di compilazione (monomorphization), non a runtime.

4

Quale attributo suggerisce al compilatore Rust di fare l'inline di una funzione?

5

Quale opzione di compilazione Rust abilita il livello di ottimizzazione massimo?

+17 domande da colloquio

Padroneggia Rust per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis