摘要:
http://web.archive.org/web/20160430022340/http://google.github.io/styleguide/cppguide.html 主要注意几点: 阅读全文
摘要:
https://coolshell.cn/articles/8239.html 主要讲的是《Implementing Lock-Free Queues》的论点,具体直接看论文最好。这里总结些要点。 CAS就是Compare And Swap。gcc可以调用: 这段代码讲出无锁的两个关键手段: 一个就 阅读全文
摘要:
gzip几乎在在所有平台上都有支持,并且也已经成为一个行业标准,压缩率、压缩速度、解压速度都比较均衡; bzip2是基于BWT变换的一种压缩,本质是上对输入分块,每个块单独压缩,优点是压缩率很高,但压缩和解压速度都比较慢; Snappy是Google出品,优点是压缩和解压都很快,缺点是压缩率比较低, 阅读全文
摘要:
mongo术语: https://docs.mongodb.com/manual/reference/glossary/ 构建mongo集群可参考: https://docs.mongodb.com/manual/tutorial/deploy-shard-cluster/ mongo的shard机 阅读全文
摘要:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 可以看到RSS,也就是物理内存占用,单位是KB。RSS是常驻内存集(Resident Set Size),表示该进程分配的内存大小。RSS不包括进入交换分区的内存。RSS包括共享库占用的内存 阅读全文
摘要:
us, user: 运行(未调整优先级的) 用户进程的CPU时间 sy,system: 运行内核进程的CPU时间 ni,niced:运行已调整优先级的用户进程的CPU时间 wa,IO wait: 用于等待IO完成的CPU时间 hi:处理硬件中断的CPU时间 si: 处理软件中断的CPU时间 st:这 阅读全文
摘要:
将进程与cpu绑定,最直观的好处就是减少cpu之间的cache同步和切换,提高了cpu cache的命中率,提高代码的效率。从cpu架构上,NUMA拥有独立的本地内存,节点之间可以通过互换模块做连接和信息交互,因此每个CPU可以访问整个系统的内存,但是访问远地内存访问效率大大降低,绑定cpu操作对此 阅读全文
摘要:
OLTP与OLAP 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易 阅读全文
摘要:
pthread条件变量等待条件有两种方式:无条件等待pthread_cond_wait()和计时等待pthread_cond_timedwait(),其中计时等待方式如果在给定时刻前条件没有满足,则返回ETIMEOUT,结束等待,其中abstime以与time()系统调用相同意义的绝对时间形式出现, 阅读全文
摘要:
signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受 到了一定的限制。而 POSIX 标准定义的信号处理接口是 sigaction 函数。 signal函数每次设置具体的信号处理函数(非SIG_IGN)只能生效一次,每次在进程响应处理信 阅读全文