kataras / Muxie
Licence: mit
Muxie is a modern, fast and light HTTP multiplexer for Go. Fully compatible with the http.Handler interface. Written for everyone.
Stars: ✭ 257
Projects that are alternatives of or similar to Muxie
Clevergo
👅 CleverGo is a lightweight, feature rich and high performance HTTP router for Go.
Stars: ✭ 246 (-4.28%)
Mutual labels: router, high-performance
Kua
⚡️ Lightning fast URL routing in Python (trie router)
Stars: ✭ 18 (-93%)
Mutual labels: trie, router
egg-router
router for eggjs, fork from koa-router with some additional features
Stars: ✭ 50 (-80.54%)
Mutual labels: router
alarm-dog
哮天犬是一个通用的统一告警平台,提供配置化、流程化、标准化的能力,支持多种告警通知渠道,支持告警收敛、过滤、升级、工作流、自动恢复等功能,实现统一输入、不同输出。可以对接Grafana、阿里云Arms、实时计算等监控能力,各业务也可以直接在代码中埋点上报告警,也可以定制化开发,实现监控告警全场景覆盖。https://tal-tech.github.io/alarm-dog-docs
Stars: ✭ 165 (-35.8%)
Mutual labels: high-performance
Asuswrt Merlin.ng
Third party firmware for Asus routers (newer codebase)
Stars: ✭ 3,400 (+1222.96%)
Mutual labels: router
gumble
Collection of high-performance, thread-safe, lock-free data structures for go
Stars: ✭ 12 (-95.33%)
Mutual labels: high-performance
LuisaRender
High-Performance Multiple-Backend Renderer Based on LuisaCompute
Stars: ✭ 47 (-81.71%)
Mutual labels: high-performance
wide-integer
Wide-Integer implements a generic C++ template for uint128_t, uint256_t, uint512_t, uint1024_t, etc.
Stars: ✭ 83 (-67.7%)
Mutual labels: high-performance
primme
PReconditioned Iterative MultiMethod Eigensolver for solving symmetric/Hermitian eigenvalue problems and singular value problems
Stars: ✭ 98 (-61.87%)
Mutual labels: high-performance
Tarsgo
Tarsgo is high performance RPC framework in Golang programing language using the tars protocol.
Go has become popular for programming with the rise of containerization technology such as docker, k8s, and etcd.
Go's goroutine concurrency mechanism means Go is very suitable for large-scale high-concurrency back-end server program development. The Go language has nearly C/C++ performance and near Python productivity.
In Tencent, part of the existing C++ development team has gradually turned into Go developers. Tars, a widely used RPC framework, supports C++, Java, NodeJS, and PHP, and now Go. The combination with Go language has become a general trend. Therefore, in the voice of users, we launched Tarsgo, and we have applied to Tencent map application, YingYongbao application, Internet plus and other projects.
Learn more about the whole Tars architecture and design at Introduction.
Stars: ✭ 2,931 (+1040.47%)
Mutual labels: high-performance
data-parallelism
juliafolds.github.io/data-parallelism/
Stars: ✭ 22 (-91.44%)
Mutual labels: high-performance
bcnn
A minimalist Deep Learning framework for embedded Computer Vision
Stars: ✭ 39 (-84.82%)
Mutual labels: high-performance
Muxie
🚂🚋🚋🚋🚋🚋
Fast trie implementation designed from scratch specifically for HTTP
A
small and light
router for creating sturdy backend Go applications. Production-level tested, muxie's capabilities live inside the well-tested Iris web framework.
The little router that could. Built with ❤︎ by
Gerasimos Maropoulos
Last updated on October 17, 2018. Click here to read more details.
Features
- trie based: performance and useness are first class citizens, Muxie is based on the prefix tree data structure, designed from scratch and built for HTTP, and it is among the fastest outhere, if not the fastest one
- grouping: group common routes based on their path prefixes
-
no external dependencies: weighing
30kb
, Muxie is a tiny little library without external dependencies - closest wildcard resolution and prefix-based custom 404: wildcards, named parameters and static paths can all live and play together nice and fast in the same path prefix or suffix(!)
- small api: with only 3 main methods for HTTP there's not much to learn
-
compatibility: built to be 100% compatible with the
net/http
standard package
Technical Features
- [x] Closest Wildcard Resolution and Root wildcard (CWR)*
- [x] Parameterized Dynamic Path (named parameters with
:name
and wildcards with*name
, can play all together for the same path prefix|suffix)* - [x] Standard handlers chain (
Pre(handlers).For(mainHandler)
for individual routes andMux#Use
for router)* - [x] Register handlers by method(s) (
muxie.Methods()
)* - [x] Register handlers by filters (
Mux#HandleRequest
andMux#AddRequestHandler
formuxie.Matcher
andmuxie.RequestHandler
) - [x] Handle subdomains with ease (
muxie.Host
Matcher)* - [x] Request Processors (
muxie.Bind
andmuxie.Dispatch
)*
Interested? Want to learn more about this library? Check out our tiny examples and the simple godocs page.
Installation
The only requirement is the Go Programming Language
$ go get -u github.com/kataras/muxie
License
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].