Scheduler

Posted by 夏泽民

https://chanjarster.github.io/post/go/scheduling-in-go-part-1/ https://chanjarster.github.io/post/go/scheduling-in-go-part-2/ https://chanjarster.github.io/post/go/scheduling-in-go-part-3/ 几个数字 operation cost 1纳秒 可以执行12条指令 OS上下文切换 ~1000到~1500 nanosecond,相当于~12k到~18k条指令。 Go程上下文切换 ~200 nanoseconds,相当于~2.4k instructions条指令。 访问主内存 ~100到~300 clock cycles 访问CPU cache ~3到~40 clock cycles(根据不同的cache类型) 操作系统线程调度器 你的程序实际上就是一系列需要执行的指令,而这些指令是跑线程里的。



新版 Protobuf API

Posted by 夏泽民

https://blog.golang.org/a-new-go-api-for-protocol-buffers https://juejin.im/post/5e83e1176fb9a03c80278e6d



CGO_ENABLED

Posted by 夏泽民

在macOS下启用CGO_ENABLED的交叉编译 在启用CGO_ENABLED的情况下,尝试使用下面命令进行Windows平台的交叉编译:



redis rehash

Posted by 夏泽民

Squirrel(松鼠)是美团技术团队基于Redis Cluster打造的缓存系统。 https://www.cnblogs.com/meituantech/p/9376472.html https://tech.meituan.com/2018/03/16/redis-high-concurrency-optimization.html Root Cause 定位



pagecache 预读

Posted by 夏泽民

Linux文件预读算法磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈。预读可以有效的减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一… 从寄存器、L1/L2高速缓存、内存、闪存,到磁盘/光盘/磁带/存储网络,计算机的各级存储器硬件组成了一个金字塔结构。越是底层存储容量越大。然而访问速度也越慢,具体表现为更小的带宽和更大的延迟。因而这很自然的便成为一个金字塔形的逐层缓存结构。由此产生了三类基本的缓存管理和优化问题:



Search

Popular posts

Anything in here will be replaced on browsers that support the canvas element

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required