Rust

Tối ưu hóa Hiệu suất

Profiling, benchmarking, chiến lược allocator, zero-copy, SIMD, inline, tối ưu hóa codegen

20 câu hỏi phỏng vấn·
Senior
1

Công cụ nào tạo flame graph để trực quan hóa các hotspot hiệu suất trong một chương trình Rust?

Câu trả lời

cargo-flamegraph là công cụ tiêu chuẩn để tạo flame graph từ dữ liệu profiling. Nó sử dụng perf trên Linux hoặc dtrace trên macOS để thu thập các mẫu stack, sau đó tạo ra một trực quan hóa SVG tương tác cho phép nhanh chóng xác định các hàm tiêu tốn CPU nhiều nhất.

2

Crate nào được khuyến nghị để viết các micro-benchmark chính xác và đáng tin cậy về mặt thống kê trong Rust?

Câu trả lời

Criterion là crate tham chiếu cho benchmarking trong Rust. Nó cung cấp phân tích thống kê mạnh mẽ, phát hiện các hồi quy hiệu suất giữa các lần chạy, tạo biểu đồ HTML và tự động xử lý warm-up cùng số lần lặp để có kết quả đáng tin cậy.

3

Khái niệm zero-cost abstraction trong Rust có nghĩa là gì?

Câu trả lời

Zero-cost abstraction có nghĩa là các trừu tượng cấp cao (iterators, traits, generics) được biên dịch thành mã máy hiệu quả ngang với mã cấp thấp viết thủ công. Chi phí của trừu tượng chỉ tồn tại tại thời điểm biên dịch (monomorphization), không phải lúc chạy.

4

Attribute nào gợi ý cho trình biên dịch Rust inline một hàm?

5

Tùy chọn biên dịch Rust nào bật mức tối ưu hóa tối đa?

+17 câu hỏi phỏng vấn

Nắm vững Rust cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí