最新 最热

golang源码分析:go-mysql(2)自己实现一个canel

如何用golang自己实现一个canel呢,github.com/go-mysql-org/go-mysql给我们提供了这样的能力,它已经完成mysql协议的解析,并将解析后同步从库的过程实现,加入了几个插件点,实现自己的canel只需要实现这几个插件点即可完成...

2023-09-06
2

golang源码分析:mysql同步工具gravity(2)

在分析完gravity的原理和如何使用以后,我们开始分析下它的源码。gravity有5个入口,代表了5个工具。

2023-09-06
2

golang源码分析:mysql同步工具gravity(1)

https://github.com/moiot/gravity是摩拜单车开源的一款mysql同步工具:它是由一系列简单插件组成的同步工具,提升了足够的可扩展性的同时,也保证了架构的简洁性。下面先分析下它的原理以及如何使用,然后分析下它的源码。...

2023-09-06
2

golang源码分析:go-reflect

使用反射的耗时是不使用的160倍左右,耗时主要分为三个部分:reflect.TypeOf(),reflect.New(),value.Field().Set(),如果我们尽量避免使用上述反射函数,或者替代上述函数是优化性能常常探索的方案。首先看下标准库里面TypeO...

2023-09-06
1

golang源码分析:go-json(2)

1,类型到解码函数的映射,由map改成slice,这个优化和编码一样通过typeptr来获取解码函数。

2023-09-06
1

golang源码分析:go-json(1)

https://github.com/goccy/go-json起步比较晚,但是它大量参考了json-iterator/go的思路,同时也进行来一系列优化。它具体做了哪些优化呢,首先看下序列化:

2023-09-06
1

golang源码分析:sonic

https://github.com/bytedance/sonic 采用 JIT (just-in-time compiling) and SIMD (single-instruction-multiple-data) 技术,对json的编码和解码进行了加速。首先通过例子看下它如何使用:...

2023-09-06
1

golang源码分析:json-iterator/go(2)

它的定义位于github.com/json-iterator/go@v1.1.12/adapter.go

2023-09-06
6

golang源码分析:json-iterator/go(1)

https://github.com/json-iterator/go是一个非常优秀的go json解析库,完全兼容官方的json解析库。相对于官方的解析器,它的优化点在于:

2023-09-06
8

golang源码分析:easyjson(2)

github.com/mailru/easyjson@v0.7.7/easyjson/main.go

2023-09-06
2