All Projects → thinkeridea → Go Extend

thinkeridea / Go Extend

Licence: mit
go语言扩展包,收集一些常用的操作函数,辅助更快的完成开发工作,并减少重复代码

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Go Extend

Pbbl
A thread-safe ByteBuffer pool that allows for the automatic reuse of ByteBuffers, which can be over 30x faster than having to allocate a new ByteBuffer when needed.
Stars: ✭ 32 (-96.19%)
Mutual labels:  pool, bytes
Stick
solution of "sticking packets" for TCP network transmission
Stars: ✭ 261 (-68.89%)
Mutual labels:  bytes, net
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (-67.22%)
Mutual labels:  bytes, net
Bcrypt.net
BCrypt.Net - Bringing updates to the original bcrypt package
Stars: ✭ 422 (-49.7%)
Mutual labels:  net
Rocketpool
A next generation decentralised Ethereum proof of stake network and pool, currently in beta and built to be compatible with Ethereum 2.0 and the Beacon Chain.
Stars: ✭ 450 (-46.36%)
Mutual labels:  pool
Pool
🚌 A golang general network connection poolction pool
Stars: ✭ 588 (-29.92%)
Mutual labels:  pool
Go Book Store Api
Go Sample project to understand Mysql CRUD operation with best practises Includes logging, JWT, Swagger and Transactions
Stars: ✭ 18 (-97.85%)
Mutual labels:  net
Common.utility
Various helper class
Stars: ✭ 4,101 (+388.8%)
Mutual labels:  net
Honeydew
Job Queue for Elixir. Clustered or Local. Straight BEAM. Optional Ecto. 💪🍈
Stars: ✭ 670 (-20.14%)
Mutual labels:  pool
Btcpool Abandoned
backend of pool.btc.com
Stars: ✭ 541 (-35.52%)
Mutual labels:  pool
Bytebuf
Example of how CL133375 can be utilized to mitigate Go escape analysis limitations.
Stars: ✭ 494 (-41.12%)
Mutual labels:  bytes
Aliyun Openapi Net Sdk
Alibaba Cloud SDK for .NET
Stars: ✭ 467 (-44.34%)
Mutual labels:  net
Ants
🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants 是一个高性能且低损耗的 goroutine 池。
Stars: ✭ 7,180 (+755.78%)
Mutual labels:  pool
Quasar
Remote Administration Tool for Windows
Stars: ✭ 4,897 (+483.67%)
Mutual labels:  net
Epplus
EPPlus 5-Excel spreadsheets for .NET
Stars: ✭ 693 (-17.4%)
Mutual labels:  net
Libcopp
cross-platform coroutine library in c++
Stars: ✭ 398 (-52.56%)
Mutual labels:  pool
Coiniumserv
Next-gen crypto currency mining pool software
Stars: ✭ 651 (-22.41%)
Mutual labels:  pool
Instagramapisharp
A complete Private Instagram API for .NET (C#, VB.NET).
Stars: ✭ 486 (-42.07%)
Mutual labels:  net
Zkweb
A flexible web framework supports .Net Framework and .Net Core
Stars: ✭ 475 (-43.38%)
Mutual labels:  net
Slickflow
.NET 开源工作流, NET Open Source Workflow Engine
Stars: ✭ 559 (-33.37%)
Mutual labels:  net

go-extend

GoDoc Actions Status codecov Go Report Card GitHub release

go-extend 收集一些常用的操作函数,辅助更快的完成开发工作,并减少重复代码。

它收集各种杂项函数,并进行归类,方便使用者查找,它可以大幅度提升开发效率和程序运行性能。它以保证性能为最大前提,提供有效的方法。 针对一些标准库中的函数或者库进行一些修改,使其性能大幅度提升,但它并不用来替换标准库函数,这些函数往往会在一些场景下有效,但有些函数可以用来替换标准库函数,它们保持一致的功能,且相当安全。

一些包或者函数使用示例及分析可以在我的 博客(https://blog.thinkeridea.com) 中找到。

安装

$ go get  github.com/thinkeridea/go-extend/...

规范:

  • 与标准库包名一致的使用 ex 前缀, 避免与标准库包冲突
  • 包目录下 doc.go 作为包说明文档

性能测试

包中一些函数会进行性能测试,包括每次修订的性能对比,它们一般位于各自包下面的 benchmark 目录下,性能测试结果可以在 benchmark.md 快速浏览。

标准库函数改进列表

用来替换标准库的函数,它们和标准库函数功能保持一致,并拥有更好的性能:

  • exstrings.Join 该方法是对标准库 strings.Join 修改,配合 unsafe 包能有效减少内存分配
  • exstrings.Repeat 该方法是对标准库 strings.Repeat 修改,对于创建大字符串能有效减少内存分配
  • exstrings.Replace 替换字符串 该方法是对标准库 strings.Replace 修改,配合 unsafe 包能有效减少内存分配

用该改善标准库的函数,它们基本和标准库功能一致,但是它们都拥有更好的性能:

许可

go-extend 根据 MIT License 许可证授权,有关完整许可证文本,请参阅 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].