Giter Site home page Giter Site logo

blastbao / golang_runtime_reading Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zboya/golang_runtime_reading

0.0 1.0 0.0 14.65 MB

golang 1.10.2 runtime code reading - golang runtime源码分析

Shell 0.14% Batchfile 0.02% Go 91.91% Assembly 7.39% C 0.41% Makefile 0.01% Logos 0.01% Awk 0.01% Perl 0.08% HTML 0.01% CSS 0.01% C++ 0.01% Python 0.04%

golang_runtime_reading's Introduction

初定方案

有任何理解错误的地方,还望指出

golang官网

目标

理解golang runtime的运行原理,重点掌握golang的调度,gc,内存分配,数据结构.

对于注释不理解的,欢迎提issue

目前的进度

  • 2018-08-05 已阅读完调度系统的大概源码
  • 2018-08-12 正在仔细阅读调度的源码
  • 2018-08-19 正在仔细阅读调度的源码
  • 2018-08-27 正在仔细阅读调度的源码
  • 2018-09-02 已仔细阅读完调度的源码,正在阅读gc的大概源码
  • 2018-09-09 正在阅读gc的大概源码
  • 2018-09-16 大概阅读完gc流程源码
  • 2018-09-24 开始详细阅读gc源码
  • 2018-10-13 理解mgc的注释和大概阅读gcStart
  • 2018-10-20 阅读gcMark准备和markroots扫描根对象的逻辑
  • 2018-10-27 阅读gc的栈扫描和消费标记队列
  • 2018-11-04 内存分配的注释 (@jingyugao)
  • 2018-11-25 简单看了一下系统调用如何调度
  • 2018-12-16 阅读完gc

微信群

wechat
想一起阅读的小伙伴可以加我微信sheepbao-520,加入阅读群

github地址

https://github.com/sheepbao/golang_runtime_reading

时间

每周日晚9:00-10:00

golang版本

go1.10.2

准备工作

  • 有一台能上网的电脑
  • 安装zoom软件,并注册
  • 装一个阅读golang源码的编译器或者ide,推荐vscode
  • 下载go1.10.2的源码

可以先阅读的资料

活动步骤

  • 线上用zoom共享屏幕,阅读golang runtime源码,一起讨论添加注释,尽量让每个人都理解
  • 提交结果到github

阅读的方式

  1. 选好一个主题,并查询资料阅读该主题的相关背景
  2. 大概浏览阅读相关源码
  3. 仔细阅读源码实现原理
  4. 最后再整理整个流程

暂定的主题

  1. goroutine调度实现
  2. 数据结构的实现
  3. 内存分配实现
  4. gc的实现

golang_runtime_reading's People

Contributors

zboya avatar jingyugao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.