-
Notifications
You must be signed in to change notification settings - Fork 8.1k
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
Iris is faster #560
Comments
@dcu maybe, it looks like a simple binary tree. |
@dcu I just found a way to run the tests:
the difference is not that big. anyway, I should check out eventual opportunities for optimizations. |
@manucorporat nice work |
It uses a cache to inflate it's results. They were substantially different when I added it into the go-http-router-benchmark and measured it without the cache (so actually measuring the router itself) but slower in either case. Caching disabled Caching enabled https://www.reddit.com/r/golang/comments/4a8yit/is_this_the_fastest_go_web_framework/d0z0d42 |
@CaptainCodeman I test the benchmark again. Caching disabled
Caching enabled
|
As I explained in the reddit thread several times, I was seeing a huge discrepancy between the results I got when I ran the tests in the Iris project vs when I ran them in the go-http-router-benchmark project - for both Gin and Iris so I didn't find them convincing. For a valid comparison to be made I think the author really needs to add his router to the go-http-router-benchmark project. I'm also not interested in "caching enabled" results as those don't actually test the router, just the hash lookup (?) of the cache and IMO there are already better front-end caching solutions available for that. |
Could you provide |
Sorry @appleboy, after the last update it started failing the unit tests and as the author was unwilling to accept the results anyway so I didn't see any point bothering with it anymore so deleted it all. |
@CaptainCodeman Thanks for your explanation. |
@manucorporat @CaptainCodeman @appleboy @dcu and updated the reddit posting: |
@kataras Why you closed kataras/iris#14 issues? If someone like me want to test iris framework, he/she will get wrong benchmark results. By the way, you must to change benchmark result on iris project readme and update benchmark chart on iris website. Thanks. |
@kataras The handler for your benchmark (Iris) was still empty and you're comparing different things here. The benchmarks should be comparing routers, not routers with cached enabled. Regardless, I wish you the best with your project and I'm requesting we close this issue since the title is not correct. Maybe a better issue would be Implement optional caching like: r := gin.Default()
r.SetCacheEnabled(true) or something of that nature. |
I agree - this approach to caching is overly simplistic, is comparing apples and oranges and has already been solved in better ways (e.g. varnish or nginx, CDN + origin + http cache headers) in ways that won't fall over for non-trivial apps and traffic. I'd still like to see the router added to the 'official' benchmark app for fairer comparison because the results I got were very different (even for gin) than running things from your codebase. @kataras You also need to learn to accept criticism or people pointing out errors in your approach - people telling you the results they get doesn't make them liars or "paid" (who do you think is paying them exactly and why?) |
don't waste your breath @CaptainCodeman I gave the same advice in his repo and all he did was "locked and limited conversation to collaborators" then deleted his reddit account and edited his above comment to claim he doesn't have one. sorry everyone for the noise. |
Yeah, I wanted to leave it as a warning for anyone who may be suckered by the bogus claims. There's no convincing some people that they haven't found a way to turn lead into gold. LOL |
He send the iris benchmark PR: julienschmidt/go-http-routing-benchmark#57 |
It's comparable to Echo / Gin but for some reason he's still insisting on trying to artificially inflate his numbers by using the cache which if the other routers did the same would all produce near identical results ... and of course blow up in real use where parameters vary, memory isn't unlimited and caching isn't quite so simple. Result
|
This is something I don't really like so much about the Golang community, everyone seems to be obsessed about who has the fastest router. Who cares? Routing is only a tiny portion of the request time, once you start building real application logic on top, it wont matter anymore what router you chose, but the feature set becomes more important. Can we close this issue already... please? |
@robvdl sure! 😉 |
@robvdl you mad because Iris is faster. |
@varyoo I doubt it, I just know that routing is such a small portion of the request time, it's hardly worth the bother. How long have you been programming web apps? Sounds like you are a beginner just getting into Go, still chasing the dragon of who has the fastest router which is really pointless. Have you coded any large web apps, how many big projects have you completed in your lifetime? Most of the request time goes towards DB queries, business logic, but not so much things like routing and template rendering. Please leave it be, this ticket is closed, go use Iris if you think it is faster, just Go right ahead but please stop posting over and over on this same ticket about Iris being faster. |
@robvdl actually took the bait. |
@robvdl @varyoo @CaptainCodeman @appleboy You have right, this is the reason which this benchmark suite covers common-situations like these: https://github.com/smallnest/go-web-framework-benchmark . Have a nice day and thanks for the support! |
@manucorporat could you update this issue? please, I want to know the latest update of benchmarking. Thanks |
@kataras I'm falling in love with your broken english |
@ar3s3ru why in this f**ng day, native english speaker people or people that has perfect capability with their english skill, so rude with non native speaker? could you even speak russia? or chinese maybe? I would falling in love if you can speak them perfectly. Ad hominem everywhere... Come on dude, that's non constructive discussion.. |
@raitucarp I think you took my words too seriously, just chill out dude |
@ar3s3ru Despite my english, I don't think that a racist's opinion should be considered (at least by me). The best thing you can do to your self ,right now, is to ask sorry & star Iris (this is the only thing matters to me from your side). I 'm (hard-core) loving you too, with no offence, just chilling out as you proposed. Thanks for using (or talking about) Iris! |
@kataras oh, so now I'm racist? How so? (that escalated quickly, cit.) I have nothing to be sorry of, and nothing to star Iris for. I mean, if it can get things done, I'm all for it, but there are better alternatives out there. Then again, the router is just a tiny part of the request time - it's all about queries optimization. |
Who spoke about router only, the benchmark suite covers the response time (database query, and so on), any way.
Can you saw me? If you find a better alternative I am stopping iris right now.
A racist will never admit that he is racist.
You're just unrepentant, I gave you a chance but you didn't get it, have a good night. |
perhaps gin can borrow some ideas to make the framework faster:
https://github.com/kataras/iris#benchmarks
The text was updated successfully, but these errors were encountered: