一次性能优化实战

背景: 网易工作总结–性能优化

另外年初还做过一个拍脑袋决定的KPI项目,配置下发2.0。属于彻头彻尾的领导在其上一级抢功现眼型的东西。本身和我所在组几乎毫无关系,硬要我来做。需求混乱不清,需要拉会去收集,劝服。工作这么多年没有体验过的各种心累。。。当然这话说早了,之后的花式PUA还可以再开眼界。

简而言之方案是把原来写死的内容,打散存放,每次根据条件去判断和拼接。

Go死锁问题汇集

Mutex


这把全局锁把funcA从头锁到尾,funcA里面走一步某些case下会去调用funcB,funcB也需要抢到这个全局锁才能往下执行。这不就死锁了么

go mod tidy的-compat选项

go mod tidy -compat=1.17 是一个 Go 命令,用于调整 go.mod 文件的内容,以确保它准确反映了一个 Go 模块的依赖关系。默认情况下,该命令将使用每个依赖项的最新兼容版本。

goroutine泄露

goroutine泄露的危害


Go内存泄露,相当多数都是goroutine泄露导致的。 虽然每个goroutine仅占用少量(栈)内存,但当大量goroutine被创建却不会释放时(即发生了goroutine泄露),也会消耗大量内存,造成内存泄露。

Go中的匿名函数与闭包

关键词:

函数式编程 闭包 匿名函数 匿名函数特别适合作为函数或方法的回调

在Go中函数是一等公民,和string,int等一样。 而在C、C++ 等不支持匿名函数的语言中,函数不能在运行期创建