Tonari का "रियल-टाइम" वीडियो कॉन्फ्रेंसिंग लागू करने का अनुभव
→ Zoom, WebRTC की latency 315-500ms है
रियल-टाइम स्तर की 130ms latency पाने के लिए WebRTC stack की 7.5 लाख लाइनों को छेड़ने के बजाय, पूरे stack को शुरुआत से मनचाहे hardware के अनुसार डिज़ाइन करके दोबारा implement करने का फैसला किया गया
→ security, performance, maintenance के लिए Rust चुना गया
मुख्य रूप से इस्तेमाल किए गए crate
→ standard library से बेहतर चीज़ें: crossbeam, parking_lot, bytes, socket2
→ logs और CLI को सुंदर बनाने के लिए: fern, structopt
→ cargo helper: cargo-release, cargo-udeps, cargo tree, cargo-geiger, cargo-flamegraph
Rust की मुश्किल बातें
-
compile time लंबा है
-
library coverage कम है
-
शुरुआत से ही सटीक और स्पष्ट code लिखने की मांग करता है
-
type inference इतना शक्तिशाली है कि कभी-कभी dynamic typed language इस्तेमाल करने जैसा लगता है
-
भाषा लगातार विकसित हो रही है
Rust चुनने का परिणाम
-
software से जुड़ा downtime अनुभव नहीं हुआ
-
efficient resource usage की वजह से अच्छे performance वाला code आसानी से लिखा जा सका
-
CPU और memory usage दोनों ही predictable और consistent रहे
-
consistent latency और frame rate की गारंटी मिली
-
codebase को maintain करने का अनुभव भी शानदार रहा
-
आखिरकार एक maintainable और reliable product बनाया गया, जिसने frame rate, latency और resource efficiency में तेज performance दिया
→ Rust के बिना यह मुश्किल होता
अभी कोई टिप्पणी नहीं है.