书签


不定期更新一些别人写的好文章~

FFmpeg代码导读系列(二)—-SEI的那些事

FFmpeg代码导读系列(一)—-基础篇

Golang HTTP服务平滑重启及升级

Golang中的内置函数

最快的 Go 网络框架 gnet 来啦!

【译】Go 语言源码贡献官方指导文档

一文看懂DPDK

基本的文件系统体系结构

read 系统调用剖析

从文件 I/O 看 Linux 的虚拟文件系统

Different I/O Access Methods for Linux, What We Chose for Scylla, and Why

深度剖析告诉你irqbalance有用吗?

Linux Used内存到底哪里去了?

mmap的MAP_POPULATE标志妙用

网络栈内存不足引发进程挂起问题

nicstat 网络流量统计利器

Linux下pstack的实现

计算机各系统组件的吞吐量和延迟 看图不说话

使用perf/SystemTap分析pagefault

提升go编译器内联程度

编译选项控制内联级别。另外你有没有想过,内联越多,可能instruction cache miss越高。

debug cacheline 竞争和伪共享

cpu cache line 虚假共享,原来是有工具可以观察到相关指标的。

每个程序员都应该了解的内存知识-1

使用SystemTap给程序注入系统调用setsockopt

Linux Kernel VM 参数


计算机系统

Linux内存分配原理

Anatomy of a Program in Memory

与程序员相关的CPU缓存知识

CPU cache和内存间如何做映射,CPU Associativity,以及一些演示CPU cache的例子。

Go

滴滴Go实战:高频服务接口超时排查&性能调优

[译]自定义Go Json的序列化方法

理解Go接口的实际应用

统计Go标准库以及一些优秀开源项目中使用接口的情况。

GoLand永久激活

Benchmarking package initialization

使用go:linkname对init函数做benchmark。

Picking up pennies: Disabling memory profiling

关闭runtime mem profile,提高少许性能。

曹春晖:谈一谈 Go 和 Syscall

提升go编译器内联程度

Go: gsignal, Master of Signals

信号处理与Go调度器的关系
How to Find Goroutines During Debugging

Jetbrains官方博客发文描述如何在新版GoLand 2020.1中为协程添加运行时信息,以及在GoLand调试时,如何在协程调试面板中看到这些信息,便于查看想看的协程。
有趣的是,尽管官方认为这些运行时添加的调试信息开销很小,但是如果使用者依然十分关注性能,官方演示了如何通过构建标签来实现编译期多态。这种实现编译期多态的手法,对于Go高性能编程来说十分值得学习。

Golang 中字典的 Comma Ok 是如何实现的

使用Go map查询数据时,用户层代码可以接收一个返回值,也可以接收两个返回值,那么Go编译器是如何处理的呢?

汇编

Linux 汇编语言开发指南

汇编语言入门教程 - 阮一峰的网络日志

其他

How to Use Git History to Identify Pain Points in a Project?

简单来说,通过git日志,统计修改次数最频繁的文件。一个文件修改的越频繁,可能说明里面的坑越多。。命令十分简单,如下:
git log --format=format: --name-only | egrep -v '^$' | sort | uniq -c | sort -rg | head -10


< 2020.03

0%