在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:julienschmidt/go-http-routing-benchmark开源软件地址:https://github.com/julienschmidt/go-http-routing-benchmark开源编程语言:Go 100.0%开源软件介绍:Go HTTP Router BenchmarkThis benchmark suite aims to compare the performance of HTTP request routers for Go by implementing the routing structure of some real world APIs. Some of the APIs are slightly adapted, since they can not be implemented 1:1 in some of the routers. Of course the tested routers can be used for any kind of HTTP request → handler function routing, not only (REST) APIs. Tested routers & frameworks:
MotivationGo is a great language for web applications. Since the default request multiplexer of Go's net/http package is very simple and limited, an accordingly high number of HTTP request routers exist. Unfortunately, most of the (early) routers use pretty bad routing algorithms. Moreover, many of them are very wasteful with memory allocations, which can become a problem in a language with Garbage Collection like Go, since every (heap) allocation results in more work for the Garbage Collector. Lately more and more bloated frameworks pop up, outdoing one another in the number of features. This benchmark tries to measure their overhead. Be aware that we are comparing apples and oranges here. We compare feature-rich frameworks to packages with simple routing functionality only. But since we are only interested in decent request routing, I think this is not entirely unfair. The frameworks are configured to do as little additional work as possible. If you care about performance, this benchmark can maybe help you find the right router, which scales with your application. Personally, I prefer slim and optimized software, which is why I implemented HttpRouter, which is also tested here. In fact, this benchmark suite started as part of the packages tests, but was then extended to a generic benchmark suite.
So keep in mind, that I am not completely unbiased |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论