← Back to context

Comment by vitorsr

1 month 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.