← Back to context

Comment by vitorsr

16 hours ago

Thanks for all impressive work on AdGuard.

Any particular reason to adopt Rust for this project instead of Go as many of your other products?

Because I think since you have quite extensive Go codebase I would imagine you had to rewrite possibly a significant amount of code.

Performance reasons aside, TrustTunnel is developed by the team whose main language is C++ (and the client library is actually written in C++) so Rust was a more natural choice for them.

Likewise interested in the authoritative answer, but: if I needed to write a decent chunk of code that had to run as close to wire/CPU limits as possible and run across popular mobile and desktop platforms I would 100% reach for Rust.

Go has a lot of strengths, but embedding performance-critical code as a shared library in a mobile app isn't among them.

Embedding Go code into other binaries sucks ass. Debugging is worse, it installs some signal handlers.