Cian Butler
๐ค SpeakerAppearances Over Time
Podcast Appearances
Did someone like just not look at our folder and say, do we have a JSON schema library already?
Or were we planning to do the migration?
Well, I think you could at least catch it sooner.
Maybe we wouldn't have been running the two things for so long.
But saying that, it gave another opportunity for us to continue the rollout of switching to Rust because we clearly knew it worked for us.
We had success already.
So all I needed to do that one was, again, just switching the imports in all the other ones and removing the pure Python implementation.
And we unrolled it out, and it was smooth as butter.
I didn't change any code.
I just changed the import statements.
So there definitely is that ability to do those drop-in replacements that work so well right there.
Yeah, like I said, I was playing around with PioTree and different ideas.
And when I started looking at our bottleneck for the network, I started thinking about how we manage work in the service.
And the way our request model worked was...
We were using WSGI, W-S-G-I, and effectively where processing requests come in, we'd give them to a Python worker and it would do the request to completion and then hand the response back.
So for Rust developers, they might look at that and the model is very similar to a Tokyo service.
that we had, and that's my instant thought about it.
I looked at it and said, that looks like a Tokyo service that has one event loop that does some processing, hands it off to a background task, and then it waits for the task to complete and get back the results onto the main event loop and throws it back over the wire.
Of course, it doesn't use serialization to bytes or any of that kind of stuff, but it looks like it.