Actix(Rust) it’s blazing fast

Image for post
Image for post

I’m a performance aficionado. I always will be :-). However, performance is a tricky thing. It always depends on the use case. There are several things could affect a benchmark like:
* Hardware
* Payload size
* Kind of Operation
* Time
* Configurations / Tunings
* Warm-Up
* What the code does and how
I never like the blind discussions saying this server is always better than that server because I knew use cases are everything. Performance is important and in the cloud, it leads to other things like Scalability and Costs. Great performance allows better scalability, therefore it reduces costs because you do more with fewer resources(machines or containers).

I want to share some very simple results from a very single, narrow and dumb use case. Let’s consider the turn around speed. How much overhead our architecture introduces, for this case let’s consider 2 ket metrics RPS(Requests per Second) and Tail latency(p99). I run lots of systems in production using Netty(for backend). I love Netty. Netty is also used by Cassandra, Akka, and other battle-tested kick-ass solutions. However, in the last year, I got into Rust. You might want to check it out in my previous posts on Rust, like (Building a Microservice with Rust). Besides my interest, for Rust, I need to say that Netty is battle-tested and Rust still not yet but I believe it will be soon. Actix(Rust) does not stop to amaze me.

The Benchmark

Very simple benchmark running on my own machine for the 40s testing Nodes Fastest Server(Fastify), Netty and Actix. Actix is really amazing, it looks like it’s the fastest server out there.

Cheers,
Diego Pacheco

Originally published at http://diego-pacheco.blogspot.com on January 25, 2020.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store