zoukankan      html  css  js  c++  java
  • GCC __builtin_expect的作用

    https://blog.csdn.net/shuimuniao/article/details/8017971

    #define LIKELY(x) __builtin_expect(!!(x), 1) //x很可能为真
    #define UNLIKELY(x) __builtin_expect(!!(x), 0) //x很可能为假

    CurrentThread.h

    namespace CurrentThread
    {
        // internal
        extern __thread int t_cachedTid;
        extern __thread char t_tidString[32];
        extern __thread int t_tidStringLength;
        extern __thread const char* t_threadName;
        void cacheTid();
        inline int tid()
        {
            if (__builtin_expect(t_cachedTid == 0, 0))
            {
                cacheTid();
            }
            return t_cachedTid;
        }
    
        inline const char* tidString() // for logging
        {
            return t_tidString;
        }
    
        inline int tidStringLength() // for logging
        {
            return t_tidStringLength;
        }
    
        inline const char* name()
        {
            return t_threadName;
        }
    }
    少壮不识cpp,老大方知cpp可怕
  • 相关阅读:
    第三周学习进度总结
    第二周学习进度总结
    动手动脑04
    动手动脑03
    动手动脑02
    课堂实践总结
    课堂实践
    原码,反码和补码学习报告
    开学第一周
    第八周
  • 原文地址:https://www.cnblogs.com/Jacket-K/p/9836422.html
Copyright © 2011-2022 走看看