分类 golang 中的文章

Go随笔 | Copy && Append

很多时候我们需要对数据进行复制,在申请新的内存空间之后,我们可以用copy、append、for来复制拷贝。性能如何呢? 拷贝测试 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ………

阅读全文

Go随笔 | string数组检索

前面已经分析过在少量键值对检索的场景下,map的性能不如字符串数组直接检索。当时我们是用字符串数组循环遍历的方式做的测试。而实际上这种方式还有优化的空间。下面我们就来分析下字符串数组如何检索。 字符串== 看下面字符串比较的性能基准测试: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ………

阅读全文

Go杂谈 | JSON比Protobuf拉胯很多吗

JSON以其清晰明快横行,但网络大批量传输数据,序列化反序列化的场景下,和Protobuf这种数据传输协议相比,性能却不尽人意。JSON真的如此不堪吗,看看下面的调查。 参考阅读: https://www.cnblogs.com/gjc917/p/15492469.html ………

阅读全文

Go随笔 | map泛滥的世界

开发中经常需要用到map数据类型,主流编程语言也都实现了类似的功能,比如叫哈希、散列、map等等,实现数据结构都类似,性能不相上下。网上有很多关于map实现解析的文章,比如参考:https://www.jianshu.com/p/0a777dc7f7ae 大家可能注意到,map使用过程中可能会根据键值对的增减而发生动态伸缩,而伸缩的过程是 ………

阅读全文

Go杂谈 | err hell

被人吐槽最多的 if err != nil 参考阅读: https://mp.weixin.qq.com/s/L_Sy4_6BURL4XWDK6bpEwg https://mp.weixin.qq.com/s/XILveKzh07BOQnqxYDKQsA ………

阅读全文

Go库004 | 内存管理器

Go自带GC,其runtime有一套完整的内存管理逻辑;主要运用了分层管理的思想。 参考阅读: https://blog.csdn.net/QcloudCommunity/article/details/125755238 https://blog.csdn.net/DouJiangMs/article/details/126238823 ………

阅读全文

Go随笔 | 常见语句性能分析

https://blog.csdn.net/panda_8/article/details/106722195 Plan9汇编手册 https://blog.csdn.net/qq_45091883/article/details/123515862 汇编示例,可以仔细看看 因为编译器优化的问题,很多时候代码性能的优劣其实和我们想象中是不 ………

阅读全文

Go总结(二三)| 定时器Timer

很多时候我们需要用到定时器,比如定期执行一段逻辑。Go语言中用到最多无外乎几种: time.Sleep() time.NewTimer() time.After() time.NewTicker() 这三种底层逻辑都是相通的。具体看网上的介绍。 Sleep和NewTimer 这两个方法类似,你可能会发现NewTimer的实现是放 ………

阅读全文

go-zero(五)| Tracer

参考: https://www.cnblogs.com/erda/p/16427822.html https://www.dandelioncloud.cn/article/details/1534497725911691266 https://www.cnblogs.com/erda/p/16427822.html (完)……

阅读全文