Open xushuhui opened 3 years ago
Thank you for your interest in this project.
ship
refers to echo
to implement the route management based on Radix Tree
with Zero Garbage.
The benchmark example is located at https://raw.githubusercontent.com/xgfone/ship/master/_benchmark/router_test.go
.
Dell Vostro 3470
Intel Core i5-7400 3.0GHz
8GB DDR4 2666MHz
Windows 10
Go 1.13.4
Function | ops | ns/op | bytes/opt | allocs/op |
---|---|---|---|---|
BenchmarkGinStatic-4 | 23368 | 49788 | 8278 | 157 |
BenchmarkGinGitHubAPI-4 | 15684 | 75104 | 10849 | 203 |
BenchmarkGinGplusAPI-4 | 276224 | 4184 | 686 | 13 |
BenchmarkGinParseAPI-4 | 157810 | 7537 | 1357 | 26 |
BenchmarkEchoStatic-4 | 29432 | 39989 | 2432 | 157 |
BenchmarkEchoGitHubAPI-4 | 20527 | 56857 | 2468 | 203 |
BenchmarkEchoGplusAPI-4 | 387421 | 3179 | 193 | 13 |
BenchmarkEchoParseAPI-4 | 220273 | 5575 | 365 | 26 |
BenchmarkShipEchoStatic-4 | 34054 | 35548 | 1016 | 0 |
BenchmarkShipEchoGitHubAPI-4 | 21842 | 54962 | 1585 | 0 |
BenchmarkShipEchoGplusAPI-4 | 402898 | 2996 | 85 | 0 |
BenchmarkShipEchoParseAPI-4 | 223581 | 5478 | 154 | 0 |
MacBook Pro(Retina, 13-inch, Mid 2014)
Intel Core i5 2.6GHz
8GB DDR3 1600MHz
macOS Mojave
Go 1.13.4
Function | ops | ns/op | bytes/opt | allocs/op |
---|---|---|---|---|
BenchmarkGinStatic-4 | 18085 | 62380 | 8494 | 157 |
BenchmarkGinGitHubAPI-4 | 12646 | 93052 | 11115 | 203 |
BenchmarkGinGplusAPI-4 | 224404 | 5222 | 701 | 13 |
BenchmarkGinParseAPI-4 | 124138 | 9442 | 1387 | 26 |
BenchmarkEchoStatic-4 | 22624 | 47401 | 2021 | 157 |
BenchmarkEchoGitHubAPI-4 | 16822 | 69059 | 2654 | 203 |
BenchmarkEchoGplusAPI-4 | 326142 | 3759 | 157 | 13 |
BenchmarkEchoParseAPI-4 | 178182 | 6713 | 402 | 26 |
BenchmarkShipEchoStatic-4 | 27048 | 43713 | 640 | 0 |
BenchmarkShipEchoGitHubAPI-4 | 17545 | 66953 | 987 | 0 |
BenchmarkShipEchoGplusAPI-4 | 318595 | 3698 | 54 | 0 |
BenchmarkShipEchoParseAPI-4 | 175984 | 6807 | 196 | 0 |
Compared to gin
, ship
has the advantages as bellow:
gin
only supports the middlewares after routing.echo
and is based on Radix Tree
with Zero Garbage. gin
is also based on Radix Tree
.I try to ship
in my project and pull request or issue if found bug
What is PR rules if I PR ship
? or What is I focus on
I suggest you build a document website to introduce ship
. The developer start a simply mini project quick
ship
is better and better
Thank your work ,
I dont like gin error handle and context part . I want found a fast and slight web framework . Do you test benchmark gin and ship? thank you