yoko blog

learn and live


  • 首页

  • lal文档

  • 关于我

  • 友链

  • 站内搜索

为什么启动后台程序需要使用nohup

发表于 2020-02-07 | 分类于 环境搭建|工具使用
| 热度:
| 字数统计: 641

在linux服务器上,启动程序时在尾部添加&,可以把程序丢到后台运行。

阅读全文 »

Go1.14为time.Timer定时器带来巨幅性能提升

发表于 2020-02-05 | 分类于 Go
| 热度:
| 字数统计: 658

先看标准库中的time package benchmark的指标变化:

阅读全文 »

为什么要内存对齐

发表于 2020-02-03 | 分类于 计算机系统
| 热度:
| 字数统计: 563

CPU访问内存时,并不是逐个字节访问,而是以字长(word size)为单位访问。比如32位的CPU,字长为4字节,那么CPU访问内存的单位也是4字节。

阅读全文 »

聊聊c语言的flexible array member

发表于 2020-01-22 | 分类于 c/c++
| 热度:
| 字数统计: 1.2k

本文将flexible array member翻译为弹性数组(成员),将介绍弹性数组的语法,好处与代价,以及扩展聊聊关于c语言操作内存灵活性方面的思考。

阅读全文 »

聊聊base64编码

发表于 2020-01-18 | 分类于 数据结构和算法
| 热度:
| 字数统计: 1.2k

base64的作用

阅读全文 »

老弟在吗,我怀疑Go标准库中的二分查找有bug!

发表于 2020-01-11 | 分类于 Go
| 热度:
| 字数统计: 1.8k

“老弟在吗,我怀疑Go标准库中的二分查找有bug!”
“老哥别慌,源码之前没有秘密,你坐下听我吹吹c++的牛逼。。”

阅读全文 »

redis源码阅读之面向哈希表优化

发表于 2020-01-05 | 分类于 redis
| 热度:
| 字数统计: 1.8k

写在前面

阅读全文 »

利用CPU cache特性优化Go程序

发表于 2019-12-25 | 分类于 Go
| 热度:
| 字数统计: 2k

demo

如下Go语言伪代码,开启两个协程,分别对一个结构体变量中的两个相邻的数据成员进行n次原子自增操作,当打开_ [56]byte这个看似多余的代码后,程序运行速度加快了一倍!你知道是为什么吗?

阅读全文 »

[译] Go语言使用TCP_NODELAY控制发包流量

发表于 2019-12-17 | 分类于 网络编程
| 热度:
| 字数统计: 1.6k

编写健壮且高性能的网络服务需要付出大量的努力。提高服务性能的方式有很多种,比如优化应用层的代码,更进一步,还可以看看垃圾回收器,操作系统,网络传输,以及部署我们服务的硬件是否有优化空间。

TCP/IP协议栈中的一些算法会影响到服务性能。本文将简单介绍其中的Nagle算法,与Nagle算法相关的socket选项TCP_NODELAY,以及在Go语言中如何使用它。

理论

阅读全文 »

分布式ID生成算法snowflake介绍及Go语言实现

发表于 2019-12-10 | 分类于 数据结构和算法
| 热度:
| 字数统计: 1.8k

snowflake是什么

snowflake单词原意为雪花,是twitter开源的一种分布式ID生成算法。该算法可以保证在不借助第三方服务或者说工具的情况下,在多台机器上持续生成保证唯一性的64位整型ID。

snowflake ID的组成

阅读全文 »
1…345…10
yoko

93 日志
10 分类
36 标签
RSS
GitHub

开源项目
🍀 lal: Go 直播服务器.
🍀 naza: Go 基础库.
🍀 libchef: c++ 基础库.
© 2019 — 2021 yoko 京ICP备19024469号
0%