An HTTP request routing benchmark suite for Go.

Go HTTP Request Routing Benchmark

An HTTP request routing benchmark suite for Go.

Results

goos: linux
goarch: amd64
pkg: github.com/aofei/go-http-request-routing-benchmark
cpu: AMD EPYC 7B12
BenchmarkStatic_R2-8                        2470            483046 ns/op          771571 B/op       1727 allocs/op
BenchmarkStatic_HttpRouter-8                2392            496707 ns/op          771562 B/op       1727 allocs/op
BenchmarkStatic_Chi-8                       1798            601870 ns/op          842219 B/op       2199 allocs/op
BenchmarkStatic_GorillaMux-8                 916           1285054 ns/op          930373 B/op       3150 allocs/op
BenchmarkGitHubAPI_R2-8                     1434            896290 ns/op         1185408 B/op       3353 allocs/op
BenchmarkGitHubAPI_HttpRouter-8             1460            838313 ns/op         1191237 B/op       3351 allocs/op
BenchmarkGitHubAPI_Chi-8                    1233            976479 ns/op         1198183 B/op       3285 allocs/op
BenchmarkGitHubAPI_GorillaMux-8              205           5365106 ns/op         1381143 B/op       4794 allocs/op
BenchmarkGPlusAPI_R2-8                     24177             49746 ns/op           69814 B/op        198 allocs/op
BenchmarkGPlusAPI_HttpRouter-8             25266             48744 ns/op           69906 B/op        198 allocs/op
BenchmarkGPlusAPI_Chi-8                    21542             53183 ns/op           70456 B/op        193 allocs/op
BenchmarkGPlusAPI_GorillaMux-8             13753             88778 ns/op           81167 B/op        282 allocs/op
BenchmarkParseAPI_R2-8                     13122             92461 ns/op          136153 B/op        366 allocs/op
BenchmarkParseAPI_HttpRouter-8             14160             87058 ns/op          135988 B/op        366 allocs/op
BenchmarkParseAPI_Chi-8                    10000            103210 ns/op          140071 B/op        380 allocs/op
BenchmarkParseAPI_GorillaMux-8              7861            172459 ns/op          159557 B/op        552 allocs/op
PASS
ok      github.com/aofei/go-http-request-routing-benchmark      24.568s
Owner
Aofei Sheng
Try to glue everything together.
Aofei Sheng
Similar Resources

A high performance fasthttp request router that scales well

A high performance fasthttp request router that scales well

FastHttpRouter FastHttpRouter is forked from httprouter which is a lightweight high performance HTTP request router (also called multiplexer or just m

Dec 1, 2022

Simple Golang HTTP router

Simple Golang HTTP router

Bellt Simple Golang HTTP router Bellt Package implements a request router with the aim of managing controller actions based on fixed and parameterized

Sep 27, 2022

Lightning Fast HTTP Multiplexer

Lightning Fast HTTP Multiplexer

bone What is bone ? Bone is a lightweight and lightning fast HTTP Multiplexer for Golang. It support : URL Parameters REGEX Parameters Wildcard routes

Dec 17, 2022

FastRouter is a fast, flexible HTTP router written in Go.

FastRouter FastRouter is a fast, flexible HTTP router written in Go. FastRouter contains some customizable options, such as TrailingSlashesPolicy, Pan

Sep 27, 2022

High-speed, flexible tree-based HTTP router for Go.

httptreemux High-speed, flexible, tree-based HTTP router for Go. This is inspired by Julien Schmidt's httprouter, in that it uses a patricia tree, but

Dec 28, 2022

:rotating_light: Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.

:rotating_light: Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.

LARS LARS is a fast radix-tree based, zero allocation, HTTP router for Go. view examples. If looking for a more pure Go solution, be sure to check out

Dec 27, 2022

A powerful HTTP router and URL matcher for building Go web servers with 🦍

gorilla/mux https://www.gorillatoolkit.org/pkg/mux Package gorilla/mux implements a request router and dispatcher for matching incoming requests to th

Jan 9, 2023

An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.

ozzo-routing You may consider using go-rest-api to jumpstart your new RESTful applications with ozzo-routing. Description ozzo-routing is a Go package

Dec 31, 2022

Pure is a fast radix-tree based HTTP router

Pure is a fast radix-tree based HTTP router

package pure Pure is a fast radix-tree based HTTP router that sticks to the native implementations of Go's "net/http" package; in essence, keeping the

Dec 1, 2022
A minimalist HTTP request routing helper for Go.

R2 A minimalist HTTP request routing helper for Go. The name "R2" stands for "Request Routing". That's all, R2 is just a capable little helper for HTT

Sep 7, 2022
A minimalist HTTP request routing helper for Go.

A minimalist HTTP request routing helper for Go.

Sep 7, 2022
Go HTTP request router and web framework benchmark

Go HTTP Router Benchmark This benchmark suite aims to compare the performance of HTTP request routers for Go by implementing the routing structure of

Dec 27, 2022
Bxog is a simple and fast HTTP router for Go (HTTP request multiplexer).

Bxog is a simple and fast HTTP router for Go (HTTP request multiplexer). Usage An example of using the multiplexer: package main import ( "io" "net

Dec 26, 2022
simulate linkstate algorithm for routing

for final project of computer-network course in SBU university (spring 2021) we implemented a Link-state simulation in go.

Sep 20, 2022
Vehicle Routing Problem Solver in Go

VehicleRoutingProblem Vehicle routing problem heuristic in Go Tests To run the test simply go with go test -v ./... Compile go build Run without compi

Nov 8, 2021
Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang)

Goji Goji is a HTTP request multiplexer, similar to net/http.ServeMux. It compares incoming requests to a list of registered Patterns, and dispatches

Jan 6, 2023
Go Server/API micro framework, HTTP request router, multiplexer, mux
Go Server/API micro framework, HTTP request router, multiplexer, mux

?? gorouter Go Server/API micro framework, HTTP request router, multiplexer, mux. ?? ABOUT Contributors: Rafał Lorenz Want to contribute ? Feel free t

Dec 16, 2022
A high performance HTTP request router that scales well

HttpRouter HttpRouter is a lightweight high performance HTTP request router (also called multiplexer or just mux for short) for Go. In contrast to the

Dec 28, 2022
A high performance HTTP request router that scales well

HttpRouter HttpRouter is a lightweight high performance HTTP request router (also called multiplexer or just mux for short) for Go. In contrast to the

Dec 9, 2021