09 2020 档案

摘要:1 ngx_int_t 2 ngx_os_init(ngx_log_t *log) 3 { 4 ngx_time_t *tp; 5 ngx_uint_t n; 6 #if (NGX_HAVE_LEVEL1_DCACHE_LINESIZE) 7 long size; 8 #endif 9 10 #if 阅读全文
posted @ 2020-09-27 21:18 wa小怪兽 阅读(285) 评论(0) 推荐(0)
摘要:1. cacheline对齐 避免读取的数据跨越2个cacheline,结构体可以cacheline对齐,连续的数组可以尝试首地址cacheline对齐,但可能造成浪费。 2. 分支预测 可以使用likely/unlikely这样的宏,提高cacheline命中的概率。 存在多个条件判断时,根据几率 阅读全文
posted @ 2020-09-27 20:08 wa小怪兽 阅读(656) 评论(0) 推荐(0)
摘要:std::thread_local是线程局部存储。每个线程都有一个对应备份,被std::thread_local修饰的变量生存周期和所属线程一致,线程被销毁该变量释放。 可以用以下代码观察: #include<iostream> #include<thread> using namespace st 阅读全文
posted @ 2020-09-20 18:25 wa小怪兽 阅读(576) 评论(0) 推荐(0)
摘要:std::initializer_list<T>提供了以下接口: size_t size() const noexcept; const T* begin() const noexcept; const T* end() const noexcept; 通过std::initializer_list 阅读全文
posted @ 2020-09-20 15:11 wa小怪兽 阅读(329) 评论(0) 推荐(0)
摘要:有学生表和成绩表,筛选出选修超过三门课的学生信息,并按照总分排序。 如果使用where筛选count()计算结果会报错,原因是where发生在group by之前,需要使用having进行筛选。 构造的查询语句: select SNAME,SUM(GRADE) as sum,STU.STU_ID a 阅读全文
posted @ 2020-09-16 20:16 wa小怪兽 阅读(359) 评论(0) 推荐(0)
摘要:IFNULL ( exp1, exp 2) 如果exp1为空,返回exp2,exp1不为空则返回exp1。 阅读全文
posted @ 2020-09-16 20:07 wa小怪兽 阅读(132) 评论(0) 推荐(0)