
การเพิ่มประสิทธิภาพ
Profiling, benchmarking, กลยุทธ์ allocator, zero-copy, SIMD, inline, การเพิ่มประสิทธิภาพ codegen
1เครื่องมือใดที่สร้าง flame graph เพื่อแสดงภาพ hotspot ด้านประสิทธิภาพในโปรแกรม Rust?
เครื่องมือใดที่สร้าง flame graph เพื่อแสดงภาพ hotspot ด้านประสิทธิภาพในโปรแกรม Rust?
คำตอบ
cargo-flamegraph เป็นเครื่องมือมาตรฐานสำหรับสร้าง flame graph จากข้อมูล profiling โดยใช้ perf บน Linux หรือ dtrace บน macOS เพื่อเก็บตัวอย่าง stack จากนั้นสร้างการแสดงผล SVG แบบโต้ตอบที่ช่วยให้ระบุฟังก์ชันที่ใช้ CPU มากที่สุดได้อย่างรวดเร็ว
2crate ใดที่แนะนำสำหรับการเขียน micro-benchmark ที่แม่นยำและเชื่อถือได้ทางสถิติใน Rust?
crate ใดที่แนะนำสำหรับการเขียน micro-benchmark ที่แม่นยำและเชื่อถือได้ทางสถิติใน Rust?
คำตอบ
Criterion เป็น crate มาตรฐานสำหรับการทำ benchmarking ใน Rust โดยให้การวิเคราะห์ทางสถิติที่แข็งแกร่ง ตรวจจับการถดถอยของประสิทธิภาพระหว่างการรัน สร้างกราฟ HTML และจัดการ warm-up กับจำนวนรอบการวนซ้ำโดยอัตโนมัติเพื่อให้ได้ผลลัพธ์ที่เชื่อถือได้
3แนวคิด zero-cost abstraction ใน Rust หมายความว่าอย่างไร?
แนวคิด zero-cost abstraction ใน Rust หมายความว่าอย่างไร?
คำตอบ
zero-cost abstraction หมายความว่าการแอบสแตรกต์ระดับสูง (iterators, traits, generics) ถูกคอมไพล์เป็นโค้ดเครื่องที่มีประสิทธิภาพเทียบเท่าโค้ดระดับต่ำที่เขียนด้วยมือ ต้นทุนของการแอบสแตรกต์เกิดขึ้นเฉพาะตอนคอมไพล์ (monomorphization) ไม่ใช่ตอนรันไทม์
attribute ใดที่แนะนำให้คอมไพเลอร์ Rust ทำการ inline ฟังก์ชัน?
ตัวเลือกการคอมไพล์ของ Rust ใดที่เปิดใช้งานระดับการปรับให้เหมาะสมสูงสุด?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Rust อื่นๆ
พื้นฐาน Rust
Ownership & Borrowing
Structs & Enums
การจัดการข้อผิดพลาด
คอลเลกชัน
โมดูลและแพ็กเกจ
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
มาโคร
Serde และการ Serialization
Unsafe Rust
Trait ขั้นสูง
Lifetime ขั้นสูง
Type System
Tokio & Async I/O
Memory Management
Web Frameworks
Database Integration
Design Pattern ของ Rust
เชี่ยวชาญ Rust สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี