2024年9月11日
序列化和反序列化贯穿于微服务系统之间,如何简单高效的处理数据变的异常重要。常见的数据编解码方案中Protobuf、Avro等算是其中的佼佼者。出色的编解码方案都有哪些特点呢?以及还有没有性能更优或者使用更简单的方法呢?我们来探究一下。 Varint & Zigzag Varint varint用每个字节的第1位来标识本字节是否是一 ………
阅读全文
2024年8月30日
Go的世界除了Plan9还有个SSA 参考: https://blog.csdn.net/bigwhite20xx/article/details/127469787 (完)……
阅读全文
2024年4月9日
Go的编译器先将源代码编译成Plan9风格的汇编指令,之后再通过汇编器和链接器生成不同平台的可执行程序。再深入研究源代码执行表现时,经常需要观察汇编指令,了解基本的Plan9汇编语法不可或缺。 CPU寄存器 32位x86架构的CPU有8个32位的通用寄存器(EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI),在汇编语言中可以 ………
阅读全文
2023年4月6日
很多时候我们需要对数据进行复制,在申请新的内存空间之后,我们可以用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 ………
阅读全文
2023年3月28日
参考阅读: https://new.qq.com/rain/a/20210723A029CK00 https://github.com/preytaren/go-doc-zh (完)……
阅读全文
2023年3月22日
前面已经分析过在少量键值对检索的场景下,map的性能不如字符串数组直接检索。当时我们是用字符串数组循环遍历的方式做的测试。而实际上这种方式还有优化的空间。下面我们就来分析下字符串数组如何检索。 字符串== 看下面字符串比较的性能基准测试: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ………
阅读全文
2023年3月21日
JSON以其清晰明快横行,但网络大批量传输数据,序列化反序列化的场景下,和Protobuf这种数据传输协议相比,性能却不尽人意。为了解决JSON编解码性能差的问题,MsgPack给了我们新的选择。 JSON协议 菜鸟教程:https://www.runoob.com/json/json-syntax.html JSON 的两种结构: 1、 ………
阅读全文
2023年3月20日
开发中经常需要用到map数据类型,主流编程语言也都实现了类似的功能,比如叫哈希、散列、map等等,实现数据结构都类似,性能不相上下。网上有很多关于map实现解析的文章。参考: https://www.jianshu.com/p/0a777dc7f7ae ………
阅读全文
2023年3月15日
被人吐槽最多的 if err != nil 参考阅读: https://mp.weixin.qq.com/s/L_Sy4_6BURL4XWDK6bpEwg https://mp.weixin.qq.com/s/XILveKzh07BOQnqxYDKQsA ………
阅读全文
2023年3月15日
Go自带GC,其runtime有一套完整的内存管理逻辑;主要运用了分层管理的思想。 参考阅读: https://blog.csdn.net/QcloudCommunity/article/details/125755238 https://blog.csdn.net/DouJiangMs/article/details/126238823 ………
阅读全文