性能优化总结
1、使用各种缓存、使用重用的方式来提高性能。
2、无论是cpu、kernel、应用层,都会用到缓存的概念。减少低速设备访问次数、减少低速操作的次数、使用重复使用(重用)的方式来减少反复分配释放资
源造成的操作指令浪费。
3、对cpu和kernel层来说,cache是高速、RAM是中速、磁盘和flash是低天速。
4、对于应用来说,系统调用是费时的慢速操作。
5、反复分配和释放资源是费时的,所以应用使用"线程池"来重用线程。
6、cpu使用TLB缓存了线性地址到物理地址的转换记录,省去查找页表项。
7、cpu使用cache缓存来减少对RAM的访问。
8、kernel使用"页高速缓存"来减少对磁盘的访问。再加上多次相连的io操作进行操作合并,来减少操作次数。
9、kernel通过slab_slub缓存来减少"内存管理区"apialloc page和free page的为调用次数,也方便管理相同大小object。
10、应用层通过使用dimalloc、jemalloc来管理自己的heap,来减少系统调用mmap、brk的操作次数。
11、应用层通过线程池来减少对操作系统反复创建和释放线程。
以上内容摘自哔哩哔哩-gaoneil,总结经典,转载分享