Hacker News new | past | comments | ask | show | jobs | submit login

Really cool! You say you use Rust and Go. Why both? I imagine Rust for super performance sensitive stuff and Go for the rest, for faster development?



I think it was a matter of what libraries were available where. Namely, Lightspeed-webrtc uses the extremely popular & robust Go library Pion[1] for webrtc. It's a little over 500 lines.

The Rust Lightspeed-ingest[2] server is also ~500 lines of code, and primarily handshakes the FTL protocol used to communicate with OBS.

There is a Pion port to rust[3] that is in progress. I am not sure the state of this work. Pion is used quite extensively by many many projects; I'm not sure if the rust webrtc-rs port has any notable users yet. As I began by saying, I expect the trustability & extensiveness of Pion is what lead to lightspeed-webrtc being written in Go.

[1] https://pion.ly/

[2] https://github.com/GRVYDEV/Lightspeed-ingest

[3] https://github.com/webrtc-rs/webrtc


This was going to be my question too basically.

Hoping to see OP answer this and in particular what I would like to see them comment on is how they divide their codebase between these two languages. Which parts are being implemented in which of those languages and why.

Personally a huge proponent of Rust.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: