Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add performance benchmark #47

Open
pickfire opened this issue May 28, 2018 · 9 comments
Open

Add performance benchmark #47

pickfire opened this issue May 28, 2018 · 9 comments

Comments

@pickfire
Copy link
Contributor

pickfire commented May 28, 2018

Benchmarks can be easily done with the examples that they included in the project source itself.

For most of the frameworks, we could just use (except a few weird crates that name it differently such as hello_world or hello):

git clone git_url
cd git_url
cargo run --example hello-world --release

And then on another terminal:

wrk http://localhost:3000

If we could, we could bump each repository and let them have a standard name hello-world with a standard port to simplifies things in the future. What I learned from benchmarking ~7 different frameworks? I am surprised that actix_web was the fastest even when lower level frameworks (hyper, tokio-tinyhttp, tokio-minihttp) is included and does not have routing.

By the way, it would be great if this was included in http://arewewebyet.org

@flosse
Copy link
Owner

flosse commented May 29, 2018

Feel free to create a script that runs & records the benchmarks :)

@naturallymitchell
Copy link
Contributor

1 example:
245k req/s for actix-web vs 208k req/s for thruster
https://www.reddit.com/r/rust/comments/8t18b2/thruster_044_greatly_improved_performance/e146foq/

@frol
Copy link

frol commented Jun 24, 2018

@mitchtbaum Please, notice that it was the other way around on my laptop: 245k req/s for Thruster vs 208k req/s for Actix-web, but I cannot believe the numbers as Python-based framework Vibora reaches 328k req/s which is complete nonsense! I don't understand what is going on...

@pickfire
Copy link
Contributor Author

@frol Well, python also has japroto which cloud be a lot faster than Vibora since most parts are written in C.

@waghanza
Copy link
Contributor

waghanza commented Jan 8, 2020

@pickfire @frol @naturallymitchell I'm doing the same thing (mesuring performance) in https://github.com/the-benchmarker/web-frameworks

We could centralize our efforts ❤️

@pickfire
Copy link
Contributor Author

pickfire commented Jan 9, 2020

@waghanza There is also https://github.com/TechEmpower/FrameworkBenchmarks which may contains even more

@waghanza
Copy link
Contributor

Sure, but a little bit different. In short, my value is to take care of having up-to-date versions of frameworks and languages

@flosse
Copy link
Owner

flosse commented Jan 10, 2020

We could centralize our efforts heart

👍

@azzamsa
Copy link

azzamsa commented May 7, 2021

There is also https://github.com/rousan/rust-web-frameworks-benchmark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants