However, in terms of relative performance the async version was 10x to 20x better. Bear in mind it was a simple hello world benchmark. I also disabled keep-alive. Reusing a connection gets you even better performance.
Rocket is a well designed framework, so I’d expect it to perform similarly to other rust frameworks once the async version hits master.
I use actix-web on another project. IMHO Actix is conceptually sophisticated in a good way, has great async capabilties, great speed, and runs on Rust stable which is necessary for that project. However, actix-web had a continuity problem when the leader stepped away - see HN if you want to know more about this.
So we decided to try Rocket for this new project. This project involves more junior developers, has no special speed needs, and is fine on Rust nightly for now. The Rocket guides are excellent, especially for onboarding. The concepts feel simpler, which is fine for this project. We're eager for Rocket to launch its async version and its Rust stable version.
Ultimately the bulk of the code is similar, because both projects are web apps that use Diesel, Serde, reqwest, and other typical crates. We're looking to the future to extract some of the code into framework-independent crates, such as our API structs, business logic, and the like.
I write this specifically because I'm never right and I hope that my writing this publicly will lead to Rocket's immediate release on Rust stable just to prove me wrong.
And here's a cheer for those doing the work to make it async.
https://github.com/SergioBenitez/Rocket/issues/19#issuecomme...