240 发简信
IP属地:上海
  • 一种基于整体引用计数的方式来管理多线程内存

    对于先进先出的内存分配场景分配内存的策略可以简单很多例如消息队列的内存分配问题 思考消息队列中的元素内存大小差异巨大无法预先分配确定的内存块来传递数据 在此提出一种基于计数的...

  • 多线程无锁资源回收策略

    背景 例如分配一片内存,一般是顺序申请,乱序回收 如果是跨线程的话,一般需要引入锁来解决并发访问的问题 然而锁的使用,极大的限制住了最高的访问并发量 在此提出了无锁解决的方案...

  • stream mode如何实现单server千万qps

    一般来说server单机,实现30w qps算很高了, 但是受摩尔定律的限制,单核的性能已经发挥到了极致,市场上,也出现了大量多核的服务器 那么对于单线程epoll的服务器架...

  • 120
    当系统调用变为瓶颈

    当程序在操作文件,网络传输时,都会发生系统调用 系统调用会让线程切换用户态和内核态,并且当系统调用长时间没返回,会导致线程阻塞,并无法处理其他事情 system call l...

  • 线程池实现

    使用方法 创建一个拥有五个线程的线程池 提交一个任务到线程池执行 取消线程池中的所有任务 具体实现

  • MPSC消息队列设计

    设计原理 初始化 建立2048个元素的数组,用于传输数据 为每个元素分配一个版本号:turn turn为奇数是,为可读 turn为偶数时,为可写 生产者 抢夺head原子变量...

  • 关于CPU Cache的几个重要数据

    CPU Cache有L1/L2/L3 cache,它们是为了减缓CPU高速与Ram低速之间的数据运输成本的buffer speed L1: 4 CPU cyclesL2: 1...

  • 常用perf命令例子

    出自:https://www.brendangregg.com/perf.html[https://www.brendangregg.com/perf.html] 简介 pe...

  • Linux性能60秒快速分析

    出自:https://netflixtechblog.com/linux-performance-analysis-in-60-000-milliseconds-accc10...

  • spin lock实现

    简介 对于短时间的locking,spin lock可以提供更好的性能,对比mutex lock。因为spin lock不会让线程陷于睡眠,从而提供更好的性能 实现过程 一个...

  • ring buffer实现

    背景 多线程通讯,如果是单读单写,一般使用带atomic操作的ring buffer来实现 ring buffer原理非常简单,而然,如果需要实现高性能,则需要在原始的设计上...

  • 面向对象编程与面向数据编程

    背景 C++的设计具备面向对象的思想 通过面向对象的抽象,可以很好解耦和扩展。 然而对于某些高性能设计,面向对象并不是很好的设计 而面向数据的思想在某种程度,解决了高性能的问...

  • 无栈协程原理

    背景 协程分为有栈协程和无栈协程 有栈协程在每次挂起的时候,都需要保存一份堆栈,来存储当前的上下文 当协程频繁的挂起时,就会消耗大量的计算在保存堆栈上。 为了解决这个问题,提...

  • 实时编程

    问题 在写一个us级别的系统,需要考虑什么因素 因素 线程 通过中断的方式处理线程,会让线程不断的从睡眠和唤醒来回,这些行为虽然可以提高CPU的使用率,在无事可做的时候,CP...

  • 线程通讯单读单写消息队列内存高性能分配策略

    背景 在程序运行的过程中,经常会遇到使用std::queue的情况,例如线程之间的交互 而std::queue内的元素,一般会使用std::unique_ptr来维护内存的生...

  • 跨进程无锁队列

    介绍 实现多进程单读单写共享内存无锁队列不使用信号量来同步而是通过原子操作来同步 performance 优化点 使用局部变量,而不是类成员,减少编译优化的难度 使用padd...

  • 循环优化

    编译器会对代码做很多优化,根据统计,应用百分之八十的时间落在循环体中,因此循环优化变得尤为重要。 循环优化的目的 移动非必要的计算到循环体外 使用最廉价的指令 使用SIMD来...

  • 120
    opt-viewer帮助编译器生成更好的代码

    背景 编译器会为代码做编译优化 一般来说,编译器的工作会做得很好 但是由于C++过于灵活,导致编译器不敢过度优化 opt-viewer是llvm提供的一款显示编译优化的工具 ...

个人介绍
与最优秀的人思想同行