开发内功修炼@张彦飞开发内功修炼@张彦飞

talk is cheap,
show me the code!

最新发布

CPU篇

你的新进程是如何被内核调度执行到的?

张彦飞(@开发内功修炼) 阅读(134)

大家好,我是飞哥!在前面的文章《Linux进程是如何创建出来的?》 和 《聊聊Linux中线程和进程的联系与区别》 中我们都讲过了,进程和线程在创建出来后会加入运行队列里面等待被调度。但咱们之前提的太笼统了。所谓的运行队列到底长什么样子、新进程是如何被加入进来的、调度是如何选择一个新进程的、新...

CPU篇

聊聊Linux中线程和进程的联系与区别!

张彦飞(@开发内功修炼) 阅读(142)

大家好,我是飞哥!关于进程和线程,在 Linux 中是一对儿很核心的概念。但是进程和线程到底有啥联系,又有啥区别,很多人还都没有搞清楚。在网上对进程和线程的讨论中,很多都是聚集在这二位有啥不同。但事实在 Linux 上,进程和线程的相同点要远远大于不同点。在 Linux 下的线程甚至都被称为了...

CPU篇

你写的代码是如何跑起来的?

张彦飞(@开发内功修炼) 阅读(152)

大家好,我是飞哥!今天我们来思考一个简单的问题,一个程序是如何在 Linux 上执行起来的?我们就拿全宇宙最简单的 Hello World 程序来举例。#include <stdio.h> int main() { printf("Hello, World!\n&q...

CPU篇

盘点内核中常见的CPU性能卡点

张彦飞(@开发内功修炼) 阅读(129)

大家好,我是飞哥!我们的应用程序都是运行在各种语言的运行时、操作系统内核、以及 CPU 等硬件之上的。但这些语言的下面是由运行时、内核、硬件等多层支撑起来的。我们的程序在运行的时候,很多时候性能卡点可能并不一定是自己的应用代码导致的。也有可能是下层的软件的运行状况不佳​造成的。性能卡点有可能出...

CPU篇

剖析CPU性能火焰图生成的内部原理

张彦飞(@开发内功修炼) 阅读(103)

大家好,我是飞哥!在进行CPU性能优化的时候,我们经常先需要分析出来我们的应用程序中的CPU资源在哪些函数中使用的比较多,这样才能高效地优化。一个非常好的分析工具就是《性能之巅》作者 Brendan Gregg 发明的火焰图。在这张火焰图中,一个函数占据的宽度越宽,表明该函数消耗的 CPU 占...