Warning: Undefined global variable $debug in /var/www/ourcoders/tiny4cocoa/application/controllers/baseController.php on line 124
notOnlyCRUD 2020-01-01 17:08:09 发布的技术动态 - OurCoders (我们程序员)
notOnlyCRUD
2020-01-01 17:08:09 发布
之前一直在怀疑用一个内存池(比如sync.Pool)的作用到底有多大
现在想一下,主要是避免了内存开辟和释放。我把内存申请与归还看得太简单了(跟虚拟地址打交道多了就会忽略物理地址的存在),实际上kernel的内存管理模块为了完成这两个任务要做的事情不少(寻找可用的地址,维护页表等),有时候甚至导致当前context sleep(比如内存不足,当前context挂起,启动脏页回写线程等)。

那我们用了object pool策略,实际上就是避免了与内存管理模块的交互,自然轻量得多。