An HTTP request routing benchmark suite for Go.

Overview

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
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

Aofei Sheng 32 Apr 27, 2022
A minimalist HTTP request routing helper for Go.

A minimalist HTTP request routing helper for Go.

Aofei Sheng 32 Apr 27, 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

Peter Kieltyka 23 Apr 21, 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

Eduard 103 Apr 10, 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.

Roozbeh Sharifnasab 5 Nov 22, 2021
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

Paweł Krupski 1 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

Goji 902 May 13, 2022
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

Rafał Lorenz 125 Apr 29, 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

Julien Schmidt 14k May 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

Julien Schmidt 13.5k Dec 9, 2021
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

招牌疯子 867 Apr 10, 2022
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

Guilherme Caruso 53 Jan 24, 2022
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

Go-zoo 1.3k Apr 27, 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

Razon Yang 21 Apr 19, 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

Daniel Imfeld 538 May 5, 2022
: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

Go Playgound 387 Mar 23, 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

Gorilla Web Toolkit 16.6k May 12, 2022
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

Ozzo Framework 437 May 12, 2022
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

Go Playgound 123 Mar 11, 2022