11 2013 档案
php 注意点
摘要:1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。2.echo 比 print 快。 3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。 4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。 5.注销那些不用的变量尤其是大数组,以便释放内存。 6.尽量避免使用__get,__set,__autoload。 7.require_once()代价昂贵。 8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。 9.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)... 阅读全文
posted @ 2013-11-27 21:29 doop-ymc 阅读(238) 评论(0) 推荐(0)
nginx 红黑树详解
摘要:1 介绍这部分终于整理完了,太耗时间了,留下来备忘吧!之前看STL源码时,只是研究了红黑树的插入部分。在stl源码剖析的书中,也没有涉及到删除操作的分析,这次对删除操作也进行了详细的研究,并且还是这次学习的重点。下面开始。红黑树需要遵从下面的5条性质:(1)节点要么是红色要么是黑色;(2)根节点为黑... 阅读全文
posted @ 2013-11-24 18:21 doop-ymc 阅读(3226) 评论(0) 推荐(0)
nginx 设置进程title
摘要:刚好看到nginx设置进程title的源码,因此做一些总结。 linux进程实际是以argv[0]处的值来作为进程的title的,因此若需要修改进程的title只需要修改argv[0]处的值即可。简单的方法就是直接将想要设置的title复制给argv[0]即可,如下示: 1: #include 2: #include 3: #include 4: #include 5: 6: extern char** environ; 7: 8: int main(int argc, char* argv[]) 9: { 10: char s_tit... 阅读全文
posted @ 2013-11-19 20:34 doop-ymc 阅读(1590) 评论(0) 推荐(0)
nginx 内存池分析
摘要:最近nginx的源码刚好研究到内存池,这儿就看下nginx内存池的相关的东西。一,为什么要使用内存池 大多数的解释不外乎提升程序的处理性能及减小内存中的碎片,对于性能优化这点主要体现在: (1)系统的malloc/free等内存申请函数涉及到较多的处理,如申请时合适空间的查找,释放时的空间合并。 (2)默认的内存管理函数还会考虑多线程的应用,加锁操作会增加开销。 (3)每次申请内存的系统态与用户态的切换也及为的消耗性能。 对于由于应用的频繁的在堆上分配及释放空间所带来的内存碎片化,其实主流的思想是认为存在的,不过也有人认为这种考虑其实是多余的,在“内存池到底为... 阅读全文
posted @ 2013-11-11 21:11 doop-ymc 阅读(1561) 评论(0) 推荐(0)
nginx slab内存管理
摘要:本来这一篇作为nginx系列的开头是不合适的,不过由于nginx进程框架自己的梳理还没完成,这部分又刚好整理完了,就从这开始吧。这儿谈的是nginx的slab的内存管理方式,这种方式的内存管理在nginx中,主要是与nginx的共享内存协同使用的。nginx的slab管理与linux的slab管理相同的地方在于均是利用了内存的缓存与对齐机制,slab内存管理中一些设计相当巧妙的地方,也有一些地方个人感觉设计不是很完美,或许是作为nginx设计综合考虑的结果。nginx slab实现中的一大特色就是大量的位操作,这部分操作很多是与slot分级数组相关的。为方便描述下面做一些说明:1.将整个sla 阅读全文
posted @ 2013-11-07 15:29 doop-ymc 阅读(5931) 评论(0) 推荐(0)
copy-on-write学习
摘要:最近知识梳理不够,那就整理点以前blog的东西。这儿就看COW(copy-on-write),cow技术主要是为了提高程序在单步操作时的系统响应速度而设计的,它通过将不是立即必要的空间分配,数据复制等耗时操作分摊到后续的某个步骤中,以部分提升性能。但这种瞬时的性能提升,通常是以部分牺牲总体性能为代价的。1. copy-on-write的优点 (1)cow能够减少单步操作时由于分配空间及数据复制带来的瞬间延迟 (2)cow能够在一定程度上启动空间优化的作用2. copy-on-write的应用 (1)cow在g++ std:string中的使用 对于string的... 阅读全文
posted @ 2013-11-02 17:37 doop-ymc 阅读(747) 评论(0) 推荐(0)