Coder Social home page Coder Social logo

Comments (22)

julienschmidt avatar julienschmidt commented on May 6, 2024

The code was checked out automatically with go get yesterday. Do you have a go1 tag set?

from go-http-routing-benchmark.

astaxie avatar astaxie commented on May 6, 2024

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.

julienschmidt avatar julienschmidt commented on May 6, 2024

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.

astaxie avatar astaxie commented on May 6, 2024
-       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.

julienschmidt avatar julienschmidt commented on May 6, 2024

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.

astaxie avatar astaxie commented on May 6, 2024

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.

astaxie avatar astaxie commented on May 6, 2024

can you retest for the new code?

from go-http-routing-benchmark.

julienschmidt avatar julienschmidt commented on May 6, 2024

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.

astaxie avatar astaxie commented on May 6, 2024

Looking forward to the new result. And also add revel test if can

from go-http-routing-benchmark.

ymg avatar ymg commented on May 6, 2024

Just wondering, is this repository going to get updates after a number of frameworks had new releases?

from go-http-routing-benchmark.

julienschmidt avatar julienschmidt commented on May 6, 2024

Yes, round 2 is scheduled for august.

from go-http-routing-benchmark.

ymg avatar ymg commented on May 6, 2024

great. thanks for the quick response 👍

from go-http-routing-benchmark.

 avatar commented on May 6, 2024

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.

julienschmidt avatar julienschmidt commented on May 6, 2024

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.

astaxie avatar astaxie commented on May 6, 2024

👍

from go-http-routing-benchmark.

astaxie avatar astaxie commented on May 6, 2024

hi @julienschmidt. when will the final results released?

from go-http-routing-benchmark.

julienschmidt avatar julienschmidt commented on May 6, 2024

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.

julienschmidt avatar julienschmidt commented on May 6, 2024

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.

maximveksler avatar maximveksler commented on May 6, 2024

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.

ant0ine avatar ant0ine commented on May 6, 2024

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.

denji avatar denji commented on May 6, 2024

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.

syscrusher avatar syscrusher commented on May 6, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.