Migrated repository
Go to file
2020-05-08 17:12:37 +08:00
.example add context feature for package glog 2020-05-08 17:12:37 +08:00
.gitee issue template updates 2019-03-02 00:02:05 +08:00
.github update ci/readme/donator 2019-09-23 23:08:58 +08:00
container add context feature for package glog 2020-05-08 17:12:37 +08:00
crypto improve unit testing cases 2020-03-19 22:56:12 +08:00
database improve Record.Struct for package gdb 2020-04-29 09:12:13 +08:00
debug/gdebug improve package gdebug; add more unit testing case for package gdb 2020-04-27 17:56:04 +08:00
encoding add function Maps for package gvar; add function GetMaps for package gjson; improve MapToMap* functions for package gconv 2020-05-04 23:42:51 +08:00
errors/gerror improve error handling for gconv.Struct/ghttp.Server; add NewSkip/NewfSkip function for package gerror 2020-04-28 15:04:07 +08:00
frame add MapMerge/MapMargeCopy functions for package gutil; improve template view feature for indefinite parameters 2020-04-14 21:11:12 +08:00
i18n/gi18n improve unit testing cases by changing creating testdata path using gdebug.TestdataPath function 2020-03-21 23:47:33 +08:00
internal add struct slice conversion for request parameters for ghttp.Request; improve package gconv 2020-04-30 16:53:47 +08:00
net comment updates for package ghttp 2020-05-07 23:05:33 +08:00
os add context feature for package glog 2020-05-08 17:12:37 +08:00
test/gtest add unit testing case for auto time and soft deleting features for package gdb 2020-04-09 22:48:21 +08:00
text improve package gdb/gstr/gvalid 2020-04-20 22:36:28 +08:00
util add function Maps for package gvar; add function GetMaps for package gjson; improve MapToMap* functions for package gconv 2020-05-04 23:42:51 +08:00
.gitattributes dev 2017-07-04 18:31:39 +08:00
.gitignore add AllowDomain option for ghttp.CORS; add IsSubDomain function for gstr; improve grand.Intn 2019-09-23 19:25:03 +08:00
.travis.yml downgrade the required golang version from v1.13 to v1.11 2020-04-23 20:25:59 +08:00
DONATOR.MD donator update 2020-04-30 20:46:27 +08:00
go.mod add struct slice conversion for request parameters for ghttp.Request; improve package gconv 2020-04-30 16:53:47 +08:00
LICENSE remove reuseport in ghttp 2019-02-14 15:43:31 +08:00
README_ZH.MD readme update 2020-04-29 19:33:14 +08:00
README.MD readme update 2020-04-29 19:33:14 +08:00
RELEASE.1.MD improve gfile.MainPkgPath; update RELEASE.MD 2019-09-14 00:17:49 +08:00
RELEASE.2.MD version/readme update 2020-03-30 23:56:26 +08:00
TODO.Deprecated.MD README updates 2020-03-29 20:23:10 +08:00
version.go version updates 2020-05-07 11:31:34 +08:00

GoFrame

Go Doc Build Status Go Report Code Coverage Production Ready License

English | 简体中文

GF(GoFrame) is a modular, powerful, high-performance and production-ready application development framework of golang. Providing a series of core components and dozens of practical modules, such as: cache, logging, containers, timer, resource, validator, database orm, etc. Supporting web server integrated with router, cookie, session, middleware, logger, configure, template, https, hooks, rewrites and many more features.

If you're a newbie to Go, you may consider GoFrame easy and great as Laravel in PHP, SpringBoot in Java or Django in Python.

Installation

go get -u -v github.com/gogf/gf

suggested using go.mod:

require github.com/gogf/gf latest

Limitation

golang version >= 1.11

Architecture

Performance

Here's the most popular Golang frameworks and libraries performance testing result in WEB Server. Performance testing cases source codes are hosted at: https://github.com/gogf/gf-performance

Environment

OS   : Ubuntu 18.04 amd64
CPU  : AMD A8-6600K x 4
MEM  : 32GB
GO   : v1.13.4

Testing Tool

ab: Apache HTTP server benchmarking tool.

Command:

ab -t 10 -c 100 http://127.0.0.1:3000/hello
ab -t 10 -c 100 http://127.0.0.1:3000/query?id=10000
ab -t 10 -c 100 http://127.0.0.1:3000/json

The concurrency starts from 100 to 10000.

Run 5 times for each case of each project and pick up the best testing result.

1. Hello World

Throughputs Mean Latency P99 Latency

2. Json Response

Throughputs Mean Latency P99 Latency

Documentation

Discussion

It's recommended learning GoFrame through its awesome source codes and API reference.

License

GF is licensed under the MIT License, 100% free and open-source, forever.

Contributors

This project exists thanks to all the people who contribute. [Contributors].

Donators

We currently accept donation by Alipay/WechatPay, please note your github/gitee account in your payment bill. If you like GF, why not buy developer a cup of coffee?

Sponsors

We appreciate any kind of sponsorship for GF development. If you've got some interesting, please contact WeChat 389961817 / Email john@goframe.org.

Thanks

JetBrains