12 puan yazan xguru 2020-06-17 | Henüz yorum yok. | WhatsApp'ta paylaş

Tonari'nin "gerçek zamanlı" görüntülü toplantı uygulamasını hayata geçirme deneyimi

→ Zoom ve WebRTC'nin gecikmesi 315-500 ms

Gerçek zamanlı sayılabilecek 130 ms gecikme için WebRTC yığınının 750 bin satırına dokunmak yerine, tüm yığını baştan istenen donanıma uygun şekilde tasarlayıp yeniden uygulamaya karar vermişler

→ Güvenlik, performans ve bakım kolaylığı için Rust seçilmiş

Başlıca kullanılan crate'ler

→ Standart kütüphaneden daha iyi olanlar: crossbeam, parking_lot, bytes, socket2

→ Logları ve CLI'ı daha şık hale getirmek için: fern, structopt

→ cargo yardımcıları: cargo-release, cargo-udeps, cargo tree, cargo-geiger, cargo-flamegraph

Rust'un zor yanları

  • Derleme süreleri uzun

  • Kütüphane kapsamı yetersiz

  • Daha en baştan doğru ve net kod yazmayı gerektiriyor

  • Tür çıkarıcısı o kadar güçlü ki bazen dinamik tipli bir dil kullanıyormuş gibi hissettirebiliyor

  • Dil hâlâ gelişmeye devam ediyor

Rust seçiminin sonuçları

  • Yazılımla ilgili hiçbir kesinti yaşanmadı

  • Kaynakların verimli kullanımı sayesinde yüksek performanslı kodu kolayca yazabildiler

  • CPU ve bellek kullanımı bütünüyle öngörülebilir ve tutarlıydı

  • Tutarlı gecikme süresi ve kare hızını garanti etti

  • Kod tabanını sürdürme deneyimi de mükemmeldi

  • Sonuç olarak, sürdürülebilir ve güvenilir bir ürün geliştirdiler; kare hızı, gecikme ve kaynak verimliliğinde de hızlı performans sundu

→ Rust olmasaydı bu çok zor olurdu

Henüz yorum yok.

Henüz yorum yok.