技术栈

likely

Mr_WangAndy
16 天前
c++20·likely·c++40周年·unlikely·特性测试宏
C++20新特性_[[likely]] , [[unlikely]]属性和特性测试宏现代 CPU 采用流水线技术执行指令。当遇到条件跳转(如 if 或 switch)时,CPU 需要猜测代码会走哪条路径,并预先加载该路径的指令。 如果CPU预测正确,流水线畅通无阻,性能极高。 如果CPU预测错了,就是一种控制冒险,CPU必须清空流水线,重新加载正确指令,这个过程需要几十个指令周期。 C++20之前,为了优化热点代码,开发者通常依赖编译器特定的扩展,例如 GCC/Clang 的 __builtin_expect:
goodcitizen
2 年前
likely·dmesg·printk·pidmap·klogctl·proc-pid-max
[kernel] 带着问题看源码 —— 进程 ID 是如何分配的在《[apue] 进程控制那些事儿 》一文中,曾提到进程 ID 并不是唯一的,在整个系统运行期间一个进程 ID 可能会出现好多次。
CodingCos
2 年前
arm开发·学习·likely·gcc unlikely·linux likely·linux unlikely·内建函数
【ARM 嵌入式 编译系列 4.1 -- GCC 编译属性 likely与unlikely 学习】likely 和 unlikely 是GCC编译器提供的一种代码优化特性,这两个宏用于告诉编译器某个条件判断的结果是真还是假的可能性更大。
我是有底线的