0%

0. 引言

Ganglia 是目前最广泛的应用是用来监控 Hadoop 相关指标,亚马逊、阿里云、Cloudera Manager 等都在使用。但是目前网络上的文档非常的少,所以打算写一系列关于 Ganglia 的文章,包括安装、使用、扩展、架构以及源码等。

Read more »

0. 引言

这篇文章介绍一下 Golang channel 的内部实现,包括 channel 的数据结构以及相关操作的代码实现。代码版本 go1.9rc1,部分无关代码直接略去,比如 race detect,对应的代码中的 raceenabled。

Read more »

0. 引言

hash table,中文可以称作哈希表。简单来说就是提供 (key, value) 的存取,当然只存 key 也是可以的。一般来说哈希表的插入和查找的平均时间复杂度都为 O(1),因此在日常工作中使用也较为广泛。

Read more »

1. Golang GC 发展

Golang 从第一个版本以来,GC 一直是大家诟病最多的。但是每一个版本的发布基本都伴随着 GC 的改进。下面列出一些比较重要的改动。

  • v1.1 STW
  • v1.3 Mark STW, Sweep 并行
  • v1.5 三色标记法
  • v1.8 hybrid write barrier
Read more »

Golang 的内存管理基于 tcmalloc,可以说起点挺高的。但是 Golang 在实现的时候还做了很多优化,我们下面通过源码来看一下 Golang 的内存管理实现。下面的源码分析基于 go1.8rc3。

1.tcmalloc 介绍

关于 tcmalloc 可以参考这篇文章 tcmalloc 介绍,原始论文可以参考 TCMalloc : Thread-Caching Malloc

Read more »