- 博客(6)
- 收藏
- 关注
原创 Inside The C++ Object Model
1.关于对象关于封装后的布局成本:就像struct一样data member直接包含在class object之中,而member function虽然在class的声明之内,却不会出现在object中。每一个noninline member function只会诞生一个函数实体。至于inline function则会在每一个使用者身上产生一个函数实体。nonstatic member data + alignment + C++ 在布局和存取时间上主要的额外负担是由virtual引起的,包括:
2020-09-22 09:56:00
502
原创 2020-08-16
cpu缓存机制:为什么要设置 CPU 亲和性绑定 CPU 呢?理论上进程上一次运行后的上下文信息会保留在 CPU 的缓存中,如果下一次仍然将该进程调度到同一个 CPU 上,就能避免缓存未命中对 CPU 处理性能的影响,从而使得进程的运行更加高效。预取指令likely。用户级线程:只能只能参与该进程的处理器资源,线程切换在用户空间,开销极底,但是如果触发了阻塞的系统调用,会阻塞整个进程。内核级线程:充分利用了多核cpu的优势,开销跟进程调度差不多,线程表是存放在操作系统固定的表格空间或者堆栈空间里,所
2020-08-16 13:46:04
94
原创 2020-08-10
记柳峰高性能MYSQL实战课innodb默认主键索引,索引的底层数据结构是B+树。注意事项:order by ,group by等要注意降序索引,innodb默认是升序索引;索引失效的情况:like%xx、参与运算、隐式类型装换、or。全文索引:词——>文档的映射数据库事务隔离级别:read_uncommit——>脏读read_commit——>不可重复读repeatable_read——>幻读(innodb默认)串行执行事务innodb 默认是行锁 对索
2020-08-10 10:32:34
158
原创 2020-07-22
linux高性能服务器编程在IO模型中,同步和异步区分的是内核向应用程序通知的是何种IO事件,以及该由谁来完成IO读写。在并发模式中,同步指的是程序完全按照代码序列的顺序执行;异步指的是程序的执行需要有系统事件来驱动。...
2020-07-22 14:39:42
86
原创 记链接、装载与库
段表:ELF 文件的段结构就是由段表决定的,编译器、链接器和装载器都是依靠段表来定位和访问各个段的属性的重定位表:重定位的过程屮.每个重定位的入口都是对一个符号的引用,那么当链接器需要对某个符号的引用进行重定位时,它就要确定这个符号的目标地址。这时候链接器就会去査找由所有输入目标文件的符号表组成的全局符号表,找到相应的符号后进行重定位。程序头:它描述了 ELF文件该如何被操作系统映射到进程的虚拟空间执行文件的装载:读取可执行文件程序头,并且建立虚拟空间与可执行文件的映射关系。当程序执行发生
2020-06-14 16:08:17
126
原创 记并发、分布数据库的事务管理
1.并发数据库隔离级别由于较高的事务可串行化要求会降低系统的并发性并进一步损害系统的吞吐量,由此引申出不同的系统加锁粒度:uncommitted read、committeeread、repeatable read 和 serializable.uncommitted read:读取未提交的更新数据是可能的committee read:只能读取已经提交的事务写过的数据repea...
2020-05-04 19:53:00
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人