Golang
文章平均质量分 82
水不要鱼
https://www.fishin.com.cn
或者
https://www.fishgoddess.cn
展开
-
讨论如何优雅地处理 Go 中的 error
讨论如何优雅地处理 Go 中的 error这是一篇讨论而不是结论,希望大家参与思考并说出自己的想法我们在 Go 中处理 error 一般是这样的:package mainfunc execute() error { return nil}func main() { err := execute() if err != nil { panic(err) }}大多数场景我们知道发生了错误即可,所以这么处理没啥问题。如果需要根据不同的错误做不同的操作,一般有以下几种做法:原创 2021-07-23 17:58:19 · 428 阅读 · 0 评论 -
Go 对象池一个坑引起的一次探究
Go 对象池一个坑引起的一次探究author: zijieyecreated on 2021-06-26背景研究 zerolog 源码的时候,一边调试一边做性能测试,发现了一个很神奇的东西…sync.Poolvar ( pool = &sync.Pool{ New: func() interface{} { return new(Something) }, })sth := pool.Get().(Something) // Get() in原创 2021-06-26 20:38:17 · 400 阅读 · 0 评论 -
介绍一个使用 Go 语言开发的高性能可配置可扩展的日志库 logit
这是一个使用 Go 语言开发的高性能可配置可扩展的日志库,名字叫 logit。logit 是一个高性能的日志库,从测试结果来看,比主流日志库 zap、logrus 这些要快不少。logit 支持配置文件,所有配置都可以使用配置文件进行配置。logit 支持自定义日志处理逻辑,只需要简单实现一个 Handler 接口,即可添加进 logger 中进行日志处理,对于日志采集、日志处理都是非常方便的。logit 支持按照时间和文件大小自动分割日志文件,并支持日志级别划分不同的日志文件,比如 error 级原创 2020-05-31 16:22:41 · 880 阅读 · 0 评论 -
关于fmt包Fprint系列方法的性能问题
关于fmt包Fprint系列方法的性能问题2019-5-172019-5-17作者:水不要鱼(注:能力有限,如有说错,请指正!)(原文发表在我的个人网站中:https://www.fishin.com.cn/blog/article.html?articleId=5)最近在使用 Go 语言实现一个日志库 (logit) 的时候,发现了一个性能问题,经过 Go 的 cpuprofile 检...原创 2020-03-11 23:56:07 · 1358 阅读 · 2 评论