开头 我们都知道CacheLine(简称CL)在CPU内部起到缓存的作用,多核CPU还有缓存行一致性协议来协同各个核心的CL数据,达到同步与高效共享数据的作用(参考[http...
开头 我们都知道CacheLine(简称CL)在CPU内部起到缓存的作用,多核CPU还有缓存行一致性协议来协同各个核心的CL数据,达到同步与高效共享数据的作用(参考[http...
写在前面 经常能刷到讲解linux内核相关知识的文章以及课程,大部分是卖课的,给我的感觉就是不太好懂,甚至越讲越不懂,越讲越复杂。我今天思考了一下原因: 只讲源代码不讲原理。...
一些常识 CPU不能直接访问内存(write-back内存模型,也是主流模型),必须通过L1-L3才能访问到内存(具体执行是L3环形总线); CPU访问内存的粒度(write...
CPU的局部性原理非常大的影响到了程序的性能,很多性能调优的场景就跟这个相关。比如说:Cacheline,字节对齐,甚至这个原理影响了编程语言的设计。程序员需要掌握这个知识来...
Google Pro Tip: Use Back-of-the-envelope-calculations to Choose the Best Design[http://...
多线程编程那些事 标签:HPC、多线程、JMM、Volatile、锁、CPU多核构架、Happens before、LOCK指令 先看一段代码: 对多线程并发编程比较熟悉的人...
先总结,图在👇 1、作为OS的基础,CPU能支持什么内存访问模型,OS就必须跟随; 2、Intel CPU支持分段与分页两种模型; 3、Intel CPU的访存模型是先分段再...
性能调优那些事儿 问题 性能优化是软件开发中最重要的活动,也是软件工程中的深水区,可以说也是衡量一个程序员能力高低的标准。在大厂的面试中性能调优的问题也是最常见的,比如:为什...
Linux程序是怎么执行的——动态链接 0、前言 计算机的核心任务就是运行程序,而程序是如何运行的?这个问题一直困扰我很多年。网上有很多资料介绍程序如何被编译,如何被链接,然...
0 、前言 红黑树是软件工程中非常重要的数据结构,在很多的工程领域都有它的身影,比如java的treemap、linkedhashmap,linux内核、linux的高并发多...