12 poin oleh xguru 2020-06-17 | Belum ada komentar. | Bagikan ke WhatsApp

Ulasan Tonari tentang implementasi konferensi video "real-time"

→ Latensi Zoom dan WebRTC adalah 315-500ms

Daripada menyentuh 750 ribu baris stack WebRTC demi mencapai latensi 130ms yang benar-benar setara real-time, mereka memutuskan untuk merancang seluruh stack dari nol agar sesuai dengan hardware yang diinginkan lalu mengimplementasikannya ulang

→ Memilih Rust untuk keamanan, performa, dan kemudahan pemeliharaan

Crate yang terutama digunakan

→ Yang lebih baik daripada pustaka standar: crossbeam, parking_lot, bytes, socket2

→ Untuk mempercantik log dan CLI: fern, structopt

→ Pembantu cargo: cargo-release, cargo-udeps, cargo tree, cargo-geiger, cargo-flamegraph

Hal-hal yang sulit dari Rust

  • Waktu kompilasi lama

  • Cakupan library kurang memadai

  • Menuntut penulisan kode yang tepat dan jelas sejak awal

  • Inferensi tipe terlalu kuat sehingga kadang terasa seperti memakai bahasa bertipe dinamis

  • Bahasanya masih terus berkembang

Hasil dari memilih Rust

  • Tidak mengalami downtime yang berkaitan dengan software

  • Berkat penggunaan resource yang efisien, mereka bisa dengan mudah menulis kode berperforma tinggi

  • Penggunaan CPU dan memori sama-sama dapat diprediksi dan konsisten

  • Menjamin latensi dan frame rate yang konsisten

  • Pengalaman merawat codebase juga sangat baik

  • Pada akhirnya mereka membangun produk yang dapat dipelihara dan dapat diandalkan, dengan performa cepat dalam frame rate, latensi, dan efisiensi resource

→ Akan sulit tanpa Rust

Belum ada komentar.

Belum ada komentar.