squeaky-pl / japronto

Screaming-fast Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser.
MIT License
8.61k stars 581 forks source link

Add golang echo benchmark #19

Open ezioruan opened 7 years ago

ezioruan commented 7 years ago

Go benchmark using echo which was created for same purpose as japronto was.

https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext

from the web framework benchmarks seems go-echo is the fastest web framework in golang

heppu commented 7 years ago

Just ran the tests on my computer got these results:

Go echo Requests/sec: 85110.81 Transfer/sec: 10.47MB

Go net/http Requests/sec: 95874.63 Transfer/sec: 11.79MB

Go fasthttp Requests/sec: 447240.87 Transfer/sec: 62.70MB

Japronto Requests/sec: 541733.61 Transfer/sec: 47.53MB

So echo is slowest since it doesn't use fasthttp. It is also slower than to pure stdlib implementation since it only adds layers on top of it. If we would benchmark real life use case like normal web page usage then it would do quite good for web framework. But then if you want fast web framework for golang you might wanna check iris which used fasthttp last time I checked.

squeaky-pl commented 7 years ago

@heppu thanks for doing the number for us.