snaggen

joined 1 year ago
 

This post will analyze some data covering years of early adoption of Rust at Google. At Google, they have been seeing increased Rust adoption, especially in their consumer applications and platforms. Pulling from the over 1,000 Google developers who have authored and committed Rust code as some part of their work in 2022, they willl address some rumors head-on, both confirming some issues that could be improved and sharing some enlightening discoveries we have made along the way.

 

A mocking and unit test framework for rust called MURF. It is inspired by the gmock testing framework by google.

 

I work for a company mostly using Java, but I choose to rewrite a preformance critical part of the system in Rust. Before this rewrite I had only written some smaller thing in Rust, so i was familiar with the language, but not very experienced. When I did the re-write I expected the performance increase, I was also impressed by the concurrency and the safety around that. It is of course still possible to deadlock, but most other issues around concurrency just goes away. I found that rust really lives up to the credo "fearless concurrency". However, all of these things were expected.

One of the things I had a hard time adjusting to was all this Error handling that was required, and getting used to the ? operator, learning to use the thiserror crate. I initially thought that this was the weak point of Rust. After a while I learned to use it and realized that it was quite the opposite. When I learned how to do the error handling, I suddenly found that the result is that there are no surprise errors left in production.

The unexpected benefit I saw was that the logfiles have shrunk with a factor 100 from Java to Rust. In java there are so many things that might go wrong in so many ways, that you need to log the internal state all over the place to be able to understand why something blew up. In the rust version, I get a clean and handled error in my log stating exactly what went wrong. Being forced to handle errors, combined with great mechanisms to do it, is a under appreciated side of Rust.

What is your most surprising benefit of using Rust?

 

orz is an optimized ROLZ (reduced offset Lempel-Ziv) general purpose data compressor. input data is encoded as ROLZ-matches (reduced-offsets and match lengths), 2-byte words, and single bytes. then all encoded symbols are processed with a symbol ranking (aka Move-to-Front) transformer and a static huffman coder.

 

Powered by Rust, the video codec stack on ARCVM is now bringing faster and more reliable video decoding on ChromeOS. Here's how Collabora has been helping shape video virtualization for Chromebooks, and what it means for end users.

 

The full list of changes is found in this mail thread https://lore.kernel.org/lkml/20230618161558.1051269-1-ojeda@kernel.org/T/#u

view more: ‹ prev next ›