Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Cian Butler

๐Ÿ‘ค Speaker
690 total appearances

Appearances Over Time

Podcast Appearances

Rust in Production
Cloudsmith with Cian Butler

We like to use open source software where possible or use SaaS where possible because there's only so many people we have.

Rust in Production
Cloudsmith with Cian Butler

So I started Googling because I knew a solution to the JSON serialization already.

Rust in Production
Cloudsmith with Cian Butler

Back in two jobs ago, back when I worked in video games, we had a very large logging pipeline where we would serialize everything to JSON across the whole fleet.

Rust in Production
Cloudsmith with Cian Butler

And so we were also a Python shop, and I was working on the metrics team.

Rust in Production
Cloudsmith with Cian Butler

And we rolled out a logging change that switched how we serialize JSON in all of our microservices with a Rust library called orjson.

Rust in Production
Cloudsmith with Cian Butler

It's a great library.

Rust in Production
Cloudsmith with Cian Butler

Well, it's a Rust library and a Python library.

Rust in Production
Cloudsmith with Cian Butler

It's written in Rust, and it's got nice Python bindings that look similar enough to the normal ones, the normal JSON Python bindings.

Rust in Production
Cloudsmith with Cian Butler

So I knew from then that the speedup

Rust in Production
Cloudsmith with Cian Butler

Varies somewhere between 7 and 10x, depending on what you're doing and what it looks like.

Rust in Production
Cloudsmith with Cian Butler

And I know that when we did the change in that company, I saw...

Rust in Production
Cloudsmith with Cian Butler

about a 1% to 2% change of CPU usage across our data center over a couple weeks.

Rust in Production
Cloudsmith with Cian Butler

It takes time for changes to go out, but we definitely saw improvements.

Rust in Production
Cloudsmith with Cian Butler

And at that scale, it was really important to kind of like, you get a lot of, those small gains, they really add up over time.

Rust in Production
Cloudsmith with Cian Butler

So I reached for that library because I had such success with it before.

Rust in Production
Cloudsmith with Cian Butler

And when we went to reach for it, it turns out Django already has a wrapper for it.

Rust in Production
Cloudsmith with Cian Butler

It was even easier than that.

Rust in Production
Cloudsmith with Cian Butler

So we installed the Django or JSON serialization library.

Rust in Production
Cloudsmith with Cian Butler

And it swapped out our JSON serialization, which is just the normal Python JSON serialization with a Rust-based one.