0%

内存逃逸分析是go的编译器在编译期间,根据变量的类型和作用域,确定变量是堆上还是栈上 简单说就是编译器在编译期间,对代码进行分析,确定变量分配内存的位置。如果变量需要分配在堆上,则称作内存逃逸了。

阅读全文 »

同一个结构体,因为变量的排列顺序不同,就可能导致在运行时,占用的内存大一不一样,这个就是内存对齐的问题

阅读全文 »

在C/C++中可以通过宏定义实现条件编译,比如在不同平台的机器上,调用不同的函数,或者通过编译是传递参数,调用不同的函数,比如下面的例子

阅读全文 »

一直以来算法题刷的比较少,算法这块算是我的弱项。前几天,看到一个挺有意思的链表题,正好学习一下

阅读全文 »

以前写个一篇go汇编相关的文章,这次有时间有重新学习了一下,再写一篇加深一下

阅读全文 »

go的1.18版本在3月15这天正式发布了 release notes,虽然在bate版本就可以尝试了,毕竟那时候还没正式发布,也就没去尝试了,现在正式发布了,马上就更了尝试一下。

阅读全文 »

pika 是啥懂得都懂,这次就简单记录一下在编译过程中的遇到的一些问题和对应的解决办法

阅读全文 »

最近在看研究公司业务的存储架构,现有的存储用redis 和 leveldb 通过自己写的中间件做数据落地。这样写业务和数据恢复有点麻烦,想着优化一下,就去研究redis和leveldb的源码。发现了跳表这个数据结构很有意思,性能不错,实现也相对简单,就想着自己用go实现一个跳表,在通过这个跳表实现一个类似redis 的 zset 功能。我会尽可能 详细的去介绍所有实现细节。

阅读全文 »