mirror of
https://github.com/dxvgef/tsing
synced 2020-06-03 17:11:42 +00:00
dxvgef 532f3569c9 | ||
---|---|---|
.gitignore | ||
app.go | ||
context.go | ||
event.go | ||
example_test.go | ||
go.mod | ||
LICENSE | ||
README.md | ||
router.go | ||
tree.go | ||
utils.go | ||
VERSION |
Tsing
Tsing是一个Go语言的Web框架,具有以下优秀的特性:
- 高性能,零内存分配
- 微核心,方便二次开发
- 轻量,无第三方包依赖,兼容net/http标准包
- 统一异常处理,减少代码量,使开发者专注于业务逻辑
Tsing 是汉字【青】以及同音字做为名词时的英文,例如:清华大学(Tsinghua University)、青岛(Tsing Tao)。
安装:
go get -u github.com/dxvgef/tsing
手册:
- 基本示例
- 异常处理
- 路由及路由处理器
- 会话Context
- 参数验证及类型转换
- 数据输出
- HTML模板渲染
- CORS跨域资源共享控制
- Session
- JWT(JSON Web Token)
- 事件记录
- 优雅关闭(Graceful Shutdown)
更多示例代码请参考/example_test.go文件
完整的项目示例
dxvgef/tsing-demo 是一个基于Tsing
整合常见功能的完整示例,可以做为项目初始化使用
基准测试
tsing
与httprouter
、echo
、gin
等框架的基准测试对比
dxvgef/tsing-benchmark
测试结果:
Benchmark_Tsing_V1-4 42688 26372 ns/op 0 B/op 0 allocs/op
Benchmark_Tsing_V1_Recover-4 41553 27571 ns/op 0 B/op 0 allocs/op
Benchmark_Httprouter-4 33806 32360 ns/op 13792 B/op 167 allocs/op
Benchmark_Httprouter_Recover-4 35547 33129 ns/op 13792 B/op 167 allocs/op
Benchmark_Gin-4 33469 34294 ns/op 6497 B/op 203 allocs/op
Benchmark_Gin_Recover-4 31071 37423 ns/op 6497 B/op 203 allocs/op
Benchmark_Echo-4 31489 36706 ns/op 0 B/op 0 allocs/op
Benchmark_Echo_Recover-4 21991 53318 ns/op 9745 B/op 203 allocs/op