美文网首页
热点函数重排

热点函数重排

作者: 滩主 | 来源:发表于2023-12-08 15:42 被阅读0次

    https://gitee.com/ijinma/hfsort

    函数重排(layout)的目的在于将hot code聚合在一起,使最经常执行的代码或最需要关键执行的代码聚合在一起,形成一个更紧凑的__TEXT段

    image.png
    image.png

    从数据上看,函数重排对itlb的命中率影响很大

    perf stat -e dTLB-loads,dTLB-load-misses,iTLB-loads,iTLB-load-misses -p 58029

    image.png
    image.png

    TLB(Translation Lookaside Buffer),专门用于改进虚拟地址到物理地址转换速度的缓存。其访问速度非常快,和寄存器相当,比L1访问还快。但是TLB并不是很大只有4k,一旦TLB miss造成的后果可比物理地址cache miss后果要严重一些,最多可能需要进行5次内存IO 【多级页表】

    由此初步分析出:热点函数重排后让关键代码变的更紧凑,极大增加了TLB的缓存命中率,从而提升了CPU的运行效率,进而提升了服务的性能

    相关文章

      网友评论

          本文标题:热点函数重排

          本文链接:https://www.haomeiwen.com/subject/amoegdtx.html