Comments (22)
The code was checked out automatically with go get
yesterday. Do you have a go1
tag set?
from go-http-routing-benchmark.
I have no go1
tag. I think maybe I use the develop branch. So in the beego new version the router has changed a lot. I will release later. and will send you a pull request. and then please update your test case again. Thanks for your test case code. It's really useful for me to profile my programe.
from go-http-routing-benchmark.
The benchmark was run with astaxie/beego@3e4c015.
The results also depend on the go version and the hardware of course. Some results seem suspicious slow in the logs in the first post.
Unless the API of beego changes, I don't need a PR. I will not merge results from other persons. Just notify me and I'll run the benchmark again.
from go-http-routing-benchmark.
- app := beego.NewApp()
+ app := beego.NewControllerRegister()
-const fiveBeego = "/:a!/:b!/:c!/:d!/:e!"
+const fiveBeego = "/:a/:b/:c/:d/:e"
- router := loadBeegoSingle("GET", "/user/:name!", beegoHandler)
+ router := loadBeegoSingle("GET", "/user/:name", beegoHandler)
-const twentyBeego = "/:a!/:b!/:c!/:d!/:e!/:f!/:g!/:h!/:i!/:j!/:k!/:l!/:m!/:n!/:o!/:p!/:q!/:r!/:s!/:t!"
+const twentyBeego = "/:a/:b/:c/:d/:e/:f/:g/:h/:i/:j/:k/:l/:m/:n/:o/:p/:q/:r/:s/:t"
like this modify. should I send the pull request?
from go-http-routing-benchmark.
You could remove the fiveBeego
and twentyBeego
constants and then and use fiveColon
/ twentyColon
instead.
But this makes beego also accept for example GET /user/
for the handle beegoHandle, right?
This is not really intended. Is it significantly faster?
from go-http-routing-benchmark.
in the new version, it's will not accept GET /user/
. In fact it act as GocraftWeb. when I release I will send you pull request. actually in the new version if you want to accept should use /?:id
from go-http-routing-benchmark.
can you retest for the new code?
from go-http-routing-benchmark.
I will definitely do a re-run soon (also including Gin as a new framework), but I currently don't have time for it. Please have patience.
from go-http-routing-benchmark.
Looking forward to the new result. And also add revel test if can
from go-http-routing-benchmark.
Just wondering, is this repository going to get updates after a number of frameworks had new releases?
from go-http-routing-benchmark.
Yes, round 2 is scheduled for august.
from go-http-routing-benchmark.
great. thanks for the quick response 👍
from go-http-routing-benchmark.
Hi! Maybe you could add Falcore, I've seen it on the latest TechEmpower benchmark (http://www.techempower.com/benchmarks/#section=data-r9): https://github.com/fitstar/falcore
from go-http-routing-benchmark.
First results are in. I can confirm that Beego improved a lot 👍
Final results will be released in 1-2 days.
Falcore is not suitable for a benchmark like this. I doubt at all, that it is suitable for any application with more than 2-3 handler functions. Or maybe I did not understand the concept. Pull requests welcome in that case 😃
from go-http-routing-benchmark.
👍
from go-http-routing-benchmark.
hi @julienschmidt. when will the final results released?
from go-http-routing-benchmark.
Sorry for the delay. I found a few smaller problems, which should be addressed. Unfortunately I got very busy then. The final results will be released within the next few days.
from go-http-routing-benchmark.
Bad news everyone!
The 2nd round was planned since a long time, but so far I was unable to do it. The main reason is that I am currently about 10200 km away from my benchmark system. The usual SSH login didn't work and today I sent someone to take a look. It seems like there is a hardware defect 😟
I will now search for another suitable system (I want a completely idle, freshly set-up system with suitable hardware, e.g. no notebook CPUs).
from go-http-routing-benchmark.
I went ahead and ran a bench on my very not sterile macbook air, all while running Safari and stuff. Still some data is better then none, and it does shows gross estimates (enough for me, at least for now). In case anyone is interested, it gist is here https://gist.github.com/maximveksler/f336875ed081e4b4cc46
I did some manual fixing of indentation there, to make the output more readable. FYI.
from go-http-routing-benchmark.
Another run on my MacBook Air https://gist.github.com/ant0ine/3caede217dda281dcedb
It would be cool the update the README, things have changed since last June.
from go-http-routing-benchmark.
golang/go@52c84c3 (v1.5) bench on my iMac11 go test -bench=. -timeout=20m
https://gist.github.com/denji/ace53cc308557422ecfa
from go-http-routing-benchmark.
go test -bench=. -timeout=180m -benchtime 10s
Intel Xeon E3-1230v3 (4x 3.30GHz + Turbo Boost 2.0 up to 3.7GHz)
2x 8GiB DDR3-1600 RAM, dual-channel, ECC
go version go1.4.2 freebsd/amd64
FreeBSD 10.1-RELEASE-p5, clean installation
https://gist.github.com/syscrusher/82096fed0b4724bf3a56
from go-http-routing-benchmark.
Related Issues (20)
- Can you include Lion framework as well
- Please include the fasthttprouter router HOT 1
- Add Lars router HOT 1
- Add hugo to benchmark? HOT 1
- Can't compile
- Macaron? HOT 2
- Add Kami framework to the benchmark list
- Add Yagm to benchmark
- Would you add pressly/chi to benchmark? HOT 1
- Please consider vendor or regular dependency updates HOT 1
- Benchmarks out-of-date HOT 1
- Is it possible to add gowww/router to benchmark ?
- Benchmark against native Go http.HandleFunc HOT 1
- new benchmark for these routing HOT 1
- Update link in README.md
- Broken go get HOT 2
- Why httprouter B/op = 0 and allocs = 0
- Use go modules HOT 1
- cant run bench
- Is it possible to add cnotch/apirouter to benchmark ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-http-routing-benchmark.