william

Keep Calm and Markdown.

clickhouse 运维

重启服务

1
2
3
4
sudo service clickhouse-server restart

## 可以待配置启动,方便查找问题
sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml

CRTP 与 std::variant

Curriously Recursive Template Method(CRTP) 一种是实现了编译期多态(静态多态)的方法,相比于虚函数(virtual)跳过了虚表vtable查找,提供了比动态多态(运行时多态)更好的性能。

使用 ninja 加速 c++ build

ninjamake 是一样属于 build system,不过提供了更好的编译速度,尤其对于大型开发项目,可以节省大量的编译时间。

可预先分配空间的 std::priority_queue

c++ 标准库 <queue> 提供了优先队列 priority_queue,以 log(1) 的算法获取队列头部、并以 log(n) 的算法插入元素。其原型为

1
2
3
4
5
template<
    class T,
    class Container = std::vector<T>,
    class Compare = std::less<typename Container::value_type>
> class priority_queue;
0%